From 1f81cabd79a1360c85c2f4baf04e43b4cabc4fe1 Mon Sep 17 00:00:00 2001
From: rschoene <rene.schoene@tu-dresden.de>
Date: Fri, 30 Oct 2015 15:57:33 +0100
Subject: [PATCH] Update according to last measurements.

- Disabled plotting of histograms and line plots (too many results to plot)
- Fixed small error for getting new-measurements
---
 ilp-measurement.ipynb | 300 +++++++++++++++++++-----------------------
 ilp_measurement.py    |   3 +-
 2 files changed, 140 insertions(+), 163 deletions(-)

diff --git a/ilp-measurement.ipynb b/ilp-measurement.ipynb
index 1d42a4c..d9178c7 100644
--- a/ilp-measurement.ipynb
+++ b/ilp-measurement.ipynb
@@ -27,7 +27,7 @@
     "from datetime import datetime\n",
     "from itertools import *\n",
     "from operator import itemgetter\n",
-    "import json, sys, traceback"
+    "import json, sys, traceback, os"
    ]
   },
   {
@@ -40,8 +40,8 @@
    "source": [
     "spec_files = glob('profiling/*/specs')\n",
     "spec_files.sort()\n",
-    "specs = [np.genfromtxt(f, delimiter=' ', dtype=int)\n",
-    "         for f in spec_files]"
+    "specs = {os.path.basename(os.path.dirname(f)):np.genfromtxt(f, delimiter=' ', dtype=int)\n",
+    "         for f in spec_files}"
    ]
   },
   {
@@ -58,15 +58,17 @@
     "lastpe = False\n",
     "line_def = []\n",
     "color_def = []\n",
-    "for spec in specs:\n",
-    "    pe, comp, impl, mode = (spec[2], spec[4], spec[5], spec[6])\n",
-    "    if not lastpe or lastpe != pe:\n",
-    "        color = next(colorcycle)\n",
-    "        linecycle = cycle(linestyles)\n",
-    "    line  = next(linecycle)\n",
-    "    lastpe = pe\n",
-    "    line_def.append(line)\n",
-    "    color_def.append(color)"
+    "## Currently disabled due to fragile and unused output\n",
+    "if False:\n",
+    "    for spec in specs:\n",
+    "        pe, comp, impl, mode = (spec[2], spec[4], spec[5], spec[6])\n",
+    "        if not lastpe or lastpe != pe:\n",
+    "            color = next(colorcycle)\n",
+    "            linecycle = cycle(linestyles)\n",
+    "        line  = next(linecycle)\n",
+    "        lastpe = pe\n",
+    "        line_def.append(line)\n",
+    "        color_def.append(color)"
    ]
   },
   {
@@ -144,7 +146,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Kinds: {u'strategies': [u'normal', u'flush', u'noncached'], u'changes': [u'update', u'sw', u'res']}\n"
+      "Kinds: {u'strategies': [u'normal', u'flush', u'noncached'], u'changes': [u'update', u'sw', u'res', u'complex']}\n"
      ]
     }
    ],
@@ -183,8 +185,8 @@
     "    if dat2.size == 0:\n",
     "        print 'Did not load any record for {}'.format(name)\n",
     "    else:\n",
-    "        print 'Loaded {0} record(s) for {1} ({2[0]}x{2[1]} unique) ~= {3} run(s)'.format(\n",
-    "            len_dat, name, dat2.shape, safe_div(len_dat,dat2.size))\n",
+    "        runs = '~= {} run(s)'.format(safe_div(len_dat,dat2.size)) if len_dat > 1 else '- no data'\n",
+    "        print 'Loaded {0} record(s) for {1} ({2[0]}x{2[1]} unique) {3}'.format(len_dat, name, dat2.shape, runs)\n",
     "    dat3 = dat2\n",
     "    return dat2\n",
     "\n",
@@ -274,7 +276,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 71,
+   "execution_count": 12,
    "metadata": {
     "collapsed": false,
     "scrolled": false
@@ -284,33 +286,42 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Loaded 1072 record(s) for update_normal_plt-r6rs (8x31 unique) ~= 4 run(s)\n",
+      "Loaded 1320 record(s) for update_normal_plt-r6rs (8x31 unique) ~= 5 run(s)\n",
       "Loaded 504 record(s) for update_flush_plt-r6rs (8x31 unique) ~= 2 run(s)\n",
       "Loaded 600 record(s) for update_noncached_plt-r6rs (8x31 unique) ~= 2 run(s)\n",
-      "Loaded 147 record(s) for sw_normal_plt-r6rs (7x4 unique) ~= 5 run(s)\n",
+      "Loaded 364 record(s) for sw_normal_plt-r6rs (7x31 unique) ~= 1 run(s)\n",
       "Loaded 245 record(s) for sw_flush_plt-r6rs (7x31 unique) ~= 1 run(s)\n",
       "Loaded 602 record(s) for sw_noncached_plt-r6rs (7x31 unique) ~= 2 run(s)\n",
-      "Loaded 143 record(s) for res_normal_plt-r6rs (7x4 unique) ~= 5 run(s)\n",
+      "Loaded 360 record(s) for res_normal_plt-r6rs (7x31 unique) ~= 1 run(s)\n",
       "Loaded 245 record(s) for res_flush_plt-r6rs (7x31 unique) ~= 1 run(s)\n",
       "Loaded 392 record(s) for res_noncached_plt-r6rs (7x31 unique) ~= 1 run(s)\n",
+      "Loaded 242 record(s) for complex_normal_plt-r6rs (11x11 unique) ~= 2 run(s)\n",
+      "Loaded 1 record(s) for complex_flush_plt-r6rs (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for complex_noncached_plt-r6rs (1x1 unique) - no data\n",
       "Loaded 264 record(s) for update_normal_larceny (8x31 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for update_flush_larceny (1x1 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for update_noncached_larceny (1x1 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for sw_normal_larceny (1x1 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for sw_flush_larceny (1x1 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for sw_noncached_larceny (1x1 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for res_normal_larceny (1x1 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for res_flush_larceny (1x1 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for res_noncached_larceny (1x1 unique) ~= 1 run(s)\n",
+      "Loaded 1 record(s) for update_flush_larceny (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for update_noncached_larceny (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for sw_normal_larceny (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for sw_flush_larceny (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for sw_noncached_larceny (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for res_normal_larceny (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for res_flush_larceny (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for res_noncached_larceny (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for complex_normal_larceny (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for complex_flush_larceny (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for complex_noncached_larceny (1x1 unique) - no data\n",
       "Loaded 88 record(s) for update_normal_java (1x31 unique) ~= 2 run(s)\n",
-      "Loaded 1 record(s) for update_flush_java (1x1 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for update_noncached_java (1x1 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for sw_normal_java (1x1 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for sw_flush_java (1x1 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for sw_noncached_java (1x1 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for res_normal_java (1x1 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for res_flush_java (1x1 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for res_noncached_java (1x1 unique) ~= 1 run(s)\n"
+      "Loaded 1 record(s) for update_flush_java (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for update_noncached_java (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for sw_normal_java (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for sw_flush_java (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for sw_noncached_java (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for res_normal_java (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for res_flush_java (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for res_noncached_java (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for complex_normal_java (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for complex_flush_java (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for complex_noncached_java (1x1 unique) - no data\n"
      ]
     }
    ],
@@ -333,14 +344,17 @@
      "output_type": "stream",
      "text": [
       "Loaded 23 record(s) for update_java (1x23 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for sw_java (1x1 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for res_java (1x1 unique) ~= 1 run(s)\n",
+      "Loaded 1 record(s) for sw_java (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for res_java (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for complex_java (1x1 unique) - no data\n",
       "Loaded 1656 record(s) for update_glpk (8x23 unique) ~= 9 run(s)\n",
-      "Loaded 1 record(s) for sw_glpk (1x1 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for res_glpk (1x1 unique) ~= 1 run(s)\n",
+      "Loaded 1 record(s) for sw_glpk (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for res_glpk (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for complex_glpk (1x1 unique) - no data\n",
       "Loaded 216 record(s) for update_gurobi (8x27 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for sw_gurobi (1x1 unique) ~= 1 run(s)\n",
-      "Loaded 1 record(s) for res_gurobi (1x1 unique) ~= 1 run(s)\n"
+      "Loaded 1 record(s) for sw_gurobi (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for res_gurobi (1x1 unique) - no data\n",
+      "Loaded 1 record(s) for complex_gurobi (1x1 unique) - no data\n"
      ]
     }
    ],
@@ -525,63 +539,47 @@
    "cell_type": "code",
    "execution_count": 18,
    "metadata": {
-    "collapsed": false,
-    "scrolled": true
+    "collapsed": true
    },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Change = update\n",
-      "Stategy = normal\n",
-      "Stategy = flush\n",
-      "Stategy = noncached\n",
-      "Change = sw\n",
-      "Stategy = normal\n",
-      "Stategy = flush\n",
-      "Stategy = noncached\n",
-      "Change = res\n",
-      "Stategy = normal\n",
-      "Stategy = flush\n",
-      "Stategy = noncached\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
-    "START_STEP, MAX_PLOTS_IN_ONE = 0, 7\n",
-    "for change in kinds['changes']:\n",
-    "    print 'Change = {}'.format(change)\n",
-    "    for strategy in kinds['strategies']:\n",
-    "        print 'Stategy = {}'.format(strategy)\n",
-    "        current_plot, ax_nr, last_res = 0, 0, -1\n",
-    "        gen_params = []\n",
+    "## Currently disabled due to fragile and unused output\n",
+    "if False:\n",
+    "    START_STEP, MAX_PLOTS_IN_ONE = 0, 7\n",
+    "    for change in kinds['changes']:\n",
+    "        print 'Change = {}'.format(change)\n",
+    "        for strategy in kinds['strategies']:\n",
+    "            ax_nr = 0\n",
+    "            print 'Stategy = {}'.format(strategy)\n",
+    "            current_plot, ax_nr, last_res = 0, 0, -1\n",
+    "            gen_params = []\n",
+    "            for i in xrange(len(specs)):\n",
+    "                current_res = specs[i][2]\n",
+    "                current_plot += 1\n",
+    "                if current_plot > MAX_PLOTS_IN_ONE and last_res != current_res:\n",
+    "                    ax_nr += 1\n",
+    "                    current_plot = 0\n",
+    "                gen_params.append([ax_nr, line_def[i], color_def[i], '{2:d} x ({4}*{5}*{6})'.format(*specs[i]),\n",
+    "                                   safe(racket_dats[change][strategy],i,START_STEP),\n",
+    "                                   safe(larceny_dats[change][strategy],i,START_STEP),\n",
+    "                                   safe(java_dats[change][strategy],i)])\n",
+    "                last_res = current_res\n",
+    "            draw_gen(change, strategy, gen_params)\n",
+    "            # end of for strategies\n",
+    "        sol_params = []\n",
+    "        ax_nr = 0\n",
     "        for i in xrange(len(specs)):\n",
     "            current_res = specs[i][2]\n",
     "            current_plot += 1\n",
     "            if current_plot > MAX_PLOTS_IN_ONE and last_res != current_res:\n",
     "                ax_nr += 1\n",
     "                current_plot = 0\n",
-    "            gen_params.append([ax_nr, line_def[i], color_def[i], '{2:d} x ({4}*{5}*{6})'.format(*specs[i]),\n",
-    "                               safe(racket_dats[change][strategy],i,START_STEP),\n",
-    "                               safe(larceny_dats[change][strategy],i,START_STEP),\n",
-    "                               safe(java_dats[change][strategy],i)])\n",
-    "            last_res = current_res\n",
-    "        draw_gen(change, strategy, gen_params)\n",
-    "        # end of for strategies\n",
-    "    sol_params = []\n",
-    "    for i in xrange(len(specs)):\n",
-    "        current_res = specs[i][2]\n",
-    "        current_plot += 1\n",
-    "        if current_plot > MAX_PLOTS_IN_ONE and last_res != current_res:\n",
-    "            ax_nr += 1\n",
-    "            current_plot = 0\n",
-    "        sol_params.append([ax_nr, line_def[i], color_def[i], '{2:d} x ({4}*{5}*{6})'.format(*specs[i]),\n",
-    "                           safe(glpk_dats[change],i),\n",
-    "                           safe(gurobi_dats[change],i),\n",
-    "                           safe(java_glpk_dats[change],i)])\n",
-    "    draw_sol(change, sol_params)\n",
-    "    draw_comp_sol(change, sol_params)"
+    "            sol_params.append([ax_nr, line_def[i], color_def[i], '{2:d} x ({4}*{5}*{6})'.format(*specs[i]),\n",
+    "                               safe(glpk_dats[change],i),\n",
+    "                               safe(gurobi_dats[change],i),\n",
+    "                               safe(java_glpk_dats[change],i)])\n",
+    "        draw_sol(change, sol_params)\n",
+    "        draw_comp_sol(change, sol_params)"
    ]
   },
   {
@@ -593,7 +591,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 76,
+   "execution_count": 19,
    "metadata": {
     "collapsed": false
    },
@@ -603,11 +601,11 @@
      "output_type": "stream",
      "text": [
       "java:\n",
-      "update normal,flush,noncached,sw normal,flush,noncached,res normal,flush,noncached,\n",
+      "update normal,flush,noncached,sw normal,flush,noncached,res normal,flush,noncached,complex normal,flush,noncached,\n",
       "racket:\n",
-      "update normal,flush,noncached,sw normal,flush,noncached,res normal,flush,noncached,\n",
+      "update normal,flush,noncached,sw normal,flush,noncached,res normal,flush,noncached,complex normal,flush,noncached,\n",
       "larceny:\n",
-      "update normal,flush,noncached,sw normal,flush,noncached,res normal,flush,noncached,\n"
+      "update normal,flush,noncached,sw normal,flush,noncached,res normal,flush,noncached,complex normal,flush,noncached,\n"
      ]
     }
    ],
@@ -634,35 +632,6 @@
     "    print ''"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": 75,
-   "metadata": {
-    "collapsed": false
-   },
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "array([  0.11233333,   0.232     ,   2.68466667,  17.38466667,\n",
-       "         0.22333333,   0.425     ,   4.66133333,  27.80933333,\n",
-       "         1.99533333,   3.10233333,   4.571     ,   8.01466667,\n",
-       "        12.933     ,  15.591     ,  17.8645    ,  20.346     ,\n",
-       "        26.3685    ,  30.233     ,  36.174     ,  28.7835    ,\n",
-       "        34.767     ,  40.7045    ,  47.6145    ,   4.9425    ,\n",
-       "        10.56      ,  17.1415    ,  23.537     ,   0.5305    ,\n",
-       "         1.237     ,   2.7165    ,   8.988     ])"
-      ]
-     },
-     "execution_count": 75,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "racket_dats['update']['noncached'][0]"
-   ]
-  },
   {
    "cell_type": "markdown",
    "metadata": {},
@@ -672,7 +641,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 16,
+   "execution_count": 20,
    "metadata": {
     "collapsed": false
    },
@@ -682,11 +651,11 @@
      "output_type": "stream",
      "text": [
       "java:\n",
-      "update sw res \n",
+      "update sw res complex \n",
       "glpk:\n",
-      "update sw res \n",
+      "update sw res complex \n",
       "gurobi:\n",
-      "update sw res \n"
+      "update sw res complex \n"
      ]
     }
    ],
@@ -718,34 +687,38 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
+   "execution_count": 21,
    "metadata": {
     "collapsed": false,
     "scrolled": true
    },
    "outputs": [
     {
-     "data": {
-      "text/plain": [
-       "(array([  0.82 ,   0.239,   2.284,  19.2  ,   0.21 ,   0.319,   3.414,\n",
-       "         27.39 ,   1.433,   2.482,   3.342,   6.396,  10.884,  12.314,\n",
-       "         14.289,  15.988,  21.376,  26.704,  32.28 ,  24.226,  29.95 ,\n",
-       "         36.352,  43.842,   3.219,   7.972,  12.263,  17.145,   0.352,\n",
-       "          0.763,   2.226,   9.606]),\n",
-       " array([  0.17  ,   0.187 ,   1.766 ,  11.3   ,   0.3   ,   0.403 ,\n",
-       "          3.304 ,  22.73  ,   1.439 ,   2.375 ,   3.521 ,   6.308 ,\n",
-       "         10.359 ,  12.319 ,  15.182 ,  18.13  ,  22.5205,  27.992 ,\n",
-       "         32.143 ,  25.217 ,  30.606 ,  38.144 ,  45.88  ,   4.294 ,\n",
-       "          9.545 ,  16.402 ,  24.272 ,   0.362 ,   0.711 ,   1.518 ,   3.948 ]))"
-      ]
-     },
-     "execution_count": 17,
-     "metadata": {},
-     "output_type": "execute_result"
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[ 0  0  2 15  0  0  3 21  1  1  2  5  9 10 13 13 17 22 27 20 25 30 37  2  6\n",
+      " 10 14  0  0  1  7  0  0  1 14  0  0  3 19  1  1  2  5  8 10 12 14 17 21 25\n",
+      " 19 24 28 34  3  6 10 14  0  0  1  6  0  0  1 14  0  0  3 19  1  1  2  5  8\n",
+      " 10 12 14 17 21 25 19 23 29 35  2  6 10 14  0  0  1  6  0  5  9 11 13 14 22\n",
+      "  2  7 11 15  0  0  1 15  0  0  3 22  1  1  2  5  9 10 13 14 18 22 28 20 26\n",
+      " 30 36  2  6 10 14  0  0  1  8  0  0  1 15  0  0  2 17  1  1  2  4  7  9 10\n",
+      " 11 14 18 24 16 20 25 30  2  5  9 12  0  0  1  6  0  0  1 15  0  0  2 17  1\n",
+      "  1  2  4  8  9 11 11 14 18 22 16 20 25 31  2  5  8 12  0  0  1  6  0  0  0\n",
+      "  2 17  0  0  4 27  1  3  4  8 12 15 17 20 26 30 36 28 34 40 47  4 10 17 23\n",
+      "  0  1  2  8  0  0  2 15  0  0  4 27  1  3  4  8 12 15 17 20 24 30 36 28 33\n",
+      " 40 47  4 10 16 22  0  1  2  8  0  0  2 15  0  0  4 26  1  3  4  8 12 14 17\n",
+      " 19 24 30 35 28 33 40 48  5 10 16 24  0  1  2  9  0] <- Racket\n",
+      "[ 0  0  1 11  0  0  3 22  1  2  3  6 10 12 15 18 22 27 32 25 30 38 45  4  9\n",
+      " 16 24  0  0  1  3  0  0  0  0  0  0  0  0  0  0  0] <- Larceny\n"
+     ]
     }
    ],
    "source": [
-    "(racket_dat[0], larceny_dat[0])"
+    "print reduce(lambda x,y: np.concatenate((x,y)),[racket_dats[change][strategy][0] for strategy in kinds['strategies']\n",
+    "                                              for change in kinds['changes']]).astype(int), '<- Racket'\n",
+    "print reduce(lambda x,y: np.concatenate((x,y)),[larceny_dats[change][strategy][0] for strategy in kinds['strategies']\n",
+    "                                          for change in kinds['changes']]).astype(int), '<- Larceny'"
    ]
   },
   {
@@ -760,7 +733,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 44,
+   "execution_count": 22,
    "metadata": {
     "collapsed": true
    },
@@ -775,7 +748,9 @@
     "        elif prefix == 'sw':\n",
     "            return 31+number\n",
     "        elif prefix == 'res':\n",
-    "            return 35+number\n",
+    "            return 62+number\n",
+    "        elif prefix == 'complex':\n",
+    "            return 93+number\n",
     "        elif prefix == '':\n",
     "            pass\n",
     "        else:\n",
@@ -793,7 +768,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 43,
+   "execution_count": 23,
    "metadata": {
     "collapsed": false,
     "scrolled": true
@@ -803,7 +778,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Loaded 93 (230 zero-values) attribute metric(s) from profiling/att-percentages.csv\n"
+      "Loaded 104 (173 zero-values) attribute metric run(s) from profiling/att-percentages.csv\n"
      ]
     },
     {
@@ -812,7 +787,7 @@
        "dtype([('dir', '<f8'), ('normalBaseline', '<f8'), ('flushedBaseline', '<f8'), ('noncachedBaseline', '<f8'), ('ratioNormalToFlushed', '<f8'), ('ratioNormalToNoncached', '<f8'), ('ratioFlushedToNoncached', '<f8'), ('speedupNormalToFlushed', '<f8'), ('speedupNormalToNoncached', '<f8'), ('speedupFlushedToNoncached', '<f8')])"
       ]
      },
-     "execution_count": 43,
+     "execution_count": 23,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -832,7 +807,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 18,
+   "execution_count": 24,
    "metadata": {
     "collapsed": false,
     "scrolled": false
@@ -866,7 +841,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 19,
+   "execution_count": 25,
    "metadata": {
     "collapsed": false
    },
@@ -900,7 +875,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
+   "execution_count": 26,
    "metadata": {
     "collapsed": false,
     "scrolled": true
@@ -933,7 +908,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 42,
+   "execution_count": 27,
    "metadata": {
     "collapsed": false
    },
@@ -942,9 +917,10 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Loaded 31 (0 zero-values) attribute metric(s) from profiling/splitted/att-percentages_update.csv\n",
-      "Loaded 31 (81 zero-values) attribute metric(s) from profiling/splitted/att-percentages_sw.csv\n",
-      "Loaded 31 (149 zero-values) attribute metric(s) from profiling/splitted/att-percentages_res.csv\n"
+      "Loaded 31 (0 zero-values) attribute metric run(s) from profiling/splitted/att-percentages_update.csv\n",
+      "Loaded 31 (0 zero-values) attribute metric run(s) from profiling/splitted/att-percentages_sw.csv\n",
+      "Loaded 31 (85 zero-values) attribute metric run(s) from profiling/splitted/att-percentages_res.csv\n",
+      "Loaded 11 (88 zero-values) attribute metric run(s) from profiling/splitted/att-percentages_complex.csv\n"
      ]
     }
    ],
@@ -957,7 +933,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
+   "execution_count": 28,
    "metadata": {
     "collapsed": true
    },
@@ -968,7 +944,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 21,
+   "execution_count": 29,
    "metadata": {
     "collapsed": true
    },
@@ -1002,7 +978,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 66,
+   "execution_count": 30,
    "metadata": {
     "collapsed": false
    },
@@ -1051,7 +1027,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 67,
+   "execution_count": 31,
    "metadata": {
     "collapsed": true
    },
diff --git a/ilp_measurement.py b/ilp_measurement.py
index 8e4b7cd..e9d6046 100644
--- a/ilp_measurement.py
+++ b/ilp_measurement.py
@@ -436,7 +436,8 @@ def setup(name = None, to_default = False):
 
 @task(name = 'new-measurements')
 def new_measurements():
-    name = execute(get_remote_measurements)
+    result = execute(get_remote_measurements)
+    name = result.values()[0] # result maps hosts to result
     execute(incoporate_remote_measurements, name)
     execute(conflate_results)
     execute(distinction_of_changes)
-- 
GitLab