From 164501f11c2bea5673afa775d4bc2f0a201abc7f Mon Sep 17 00:00:00 2001
From: "niehues.mark@gmail.com" <niehues.mark@gmail.com>
Date: Wed, 6 May 2020 18:14:57 +0200
Subject: [PATCH] fixes import statements

---
 evaluation/Evaluation.ipynb  | 44 ++++++++++++++++--------------------
 evaluation/lib/benchmarks.py |  0
 evaluation/lib/export.py     |  2 +-
 evaluation/lib/queries.py    |  5 ++--
 evaluation/run.py            | 32 ++++++++++++++++++++++----
 5 files changed, 50 insertions(+), 33 deletions(-)
 create mode 100644 evaluation/lib/benchmarks.py

diff --git a/evaluation/Evaluation.ipynb b/evaluation/Evaluation.ipynb
index c7f6373..3c2e32d 100644
--- a/evaluation/Evaluation.ipynb
+++ b/evaluation/Evaluation.ipynb
@@ -2,7 +2,7 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 9,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -12,21 +12,30 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 10,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "config = 'bigger_gasstation'"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
    "metadata": {},
    "outputs": [],
    "source": [
     "paths = [\n",
-    "    ('gasstation', './results/example/queries/gasstation.csv'),\n",
-    "    ('astar', './results/example/queries/astar.csv'),\n",
-    "    ('charge', './results/example/queries/charge.csv'),\n",
-    "    ('classic', './results/example/queries/classic.csv'),\n",
+    "    ('gasstation', f'./results/{config}/queries/gasstation.csv'),\n",
+    "    ('astar', f'./results/{config}/queries/astar.csv'),\n",
+    "    ('charge', f'./results/{config}/queries/charge.csv'),\n",
+    "    ('classic', f'./results/{config}/queries/classic.csv'),\n",
     "]"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 12,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -45,14 +54,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "n =  100\n"
+      "n =  50\n"
      ]
     }
    ],
@@ -62,22 +71,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 14,
    "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
+   "outputs": [],
    "source": [
     "fig = plt.figure()\n",
     "y = []\n",
diff --git a/evaluation/lib/benchmarks.py b/evaluation/lib/benchmarks.py
new file mode 100644
index 0000000..e69de29
diff --git a/evaluation/lib/export.py b/evaluation/lib/export.py
index d4ef72e..ccf4ba9 100644
--- a/evaluation/lib/export.py
+++ b/evaluation/lib/export.py
@@ -1,7 +1,7 @@
 from typing import TextIO
 from dataclasses import asdict, fields
 
-from lib.T import QueryRow
+from evaluation.lib.T import QueryRow
 
 SEP = ','
 
diff --git a/evaluation/lib/queries.py b/evaluation/lib/queries.py
index 65e5671..0a968df 100644
--- a/evaluation/lib/queries.py
+++ b/evaluation/lib/queries.py
@@ -3,7 +3,6 @@ from time import perf_counter
 
 import networkx as nx
 
-from evrouting.T import Result
 from evrouting import gasstation, charge
 from evrouting.graph_tools import (
     consumption_function_distance_factory,
@@ -13,14 +12,14 @@ from evrouting.graph_tools import (
 from evrouting.osm.profiles import car
 from evrouting.osm.routing import GasstationAccessFunctions, a_start_heuristic
 
-from lib.T import (
+from evaluation.lib.T import (
     GasstationQueryRow,
     ChargeQueryRow,
     ClassicQueryRow,
     AStarQueryRow,
     QueryRow
 )
-from lib.algorithm import ranked_dijkstra
+from evaluation.lib.algorithm import ranked_dijkstra
 
 __all__ = [
     'gasstation_query',
diff --git a/evaluation/run.py b/evaluation/run.py
index 38daee7..fed49c2 100644
--- a/evaluation/run.py
+++ b/evaluation/run.py
@@ -1,5 +1,6 @@
 import argparse
 import json
+import gc
 import random
 import pickle
 import logging
@@ -8,9 +9,9 @@ from pathlib import Path
 
 import yaml
 from evrouting.osm.imports import read_osm
-from lib.T import *
-from lib.export import write_head, write_row
-from lib.queries import (
+from evaluation.lib.T import *
+from evaluation.lib.export import write_head, write_row
+from evaluation.lib.queries import (
     gasstation_query,
     charge_query,
     classic_query,
@@ -22,6 +23,22 @@ from lib.queries import (
 base = Path(__file__).parent
 
 
+def no_gc(func):
+    """Run func without garbage collection."""
+
+    def inner(*args, **kwargs):
+        gcold = gc.isenabled()
+        gc.disable()
+        try:
+            r = func(*args, **kwargs)
+        finally:
+            if gcold:
+                gc.enable()
+        return r
+
+    return inner
+
+
 def query_benchmark(graphs, conf, result_dir):
     # Charging Stations
     cs_path = base.joinpath('static').joinpath(conf['charging_stations'])
@@ -64,9 +81,13 @@ def query_benchmark(graphs, conf, result_dir):
                     map_name
                 ))
                 for i, (s, t) in enumerate(zip(start_nodes, target_nodes)):
-                    logging.info(f'{i + 1}/{len(start_nodes)}')
+                    logging.debug(f'{i + 1}/{len(start_nodes)}')
+
+                    # Run tests with garbage collection disabled
+                    result_data = no_gc(func)(G, setup, s, t)
+
                     with result_dir.joinpath(filename).open('a') as f:
-                        write_row(f, func(G, setup, s, t))
+                        write_row(f, result_data)
 
                 # Delete cached graphs
                 for key in list(CACHE.keys()):
@@ -121,6 +142,7 @@ if __name__ == '__main__':
         format='%(asctime)s %(message)s',
         datefmt='%m/%d/%Y %I:%M:%S %p',
         level=logging.DEBUG)
+
     results_dir = base.joinpath('results')
     static_dir = base.joinpath('static')
     maps_dir = static_dir.joinpath('maps')
-- 
GitLab