From d45a69ab61ee3736167ec7413a15b26ae2134962 Mon Sep 17 00:00:00 2001 From: akharche Date: Thu, 21 Nov 2019 17:48:40 +0300 Subject: [PATCH] Load final version of SDC demo --- docs/demos/plotting.py | 106 +++++----- docs/demos/sdc_demo.ipynb | 430 ++++++++++++++------------------------ 2 files changed, 216 insertions(+), 320 deletions(-) diff --git a/docs/demos/plotting.py b/docs/demos/plotting.py index 3ab809412..3b4f95c62 100644 --- a/docs/demos/plotting.py +++ b/docs/demos/plotting.py @@ -2,72 +2,76 @@ import matplotlib.pyplot as plt data_performance = { -'read_parquet': ((0.804, 2.939, 6.235, 20.91), - (0.51, 1.662, 3.151, 8.555)), -'read_csv': ((19.732, 10.466, 6.277, 6.947)), -'describe': ((0.823, 1.713, 3.324, 7.103), - (0.704, 1.396, 2.89, 6.485)), +'read_csv': ((10.324, 20.793, 41.413, 84.63), + (0.914, 1.925, 3.988, 8.149)), +'describe': ((0.374, 0.681, 1.426, 2.875), + (0.235, 0.597, 1.192, 2.264)), 'v_counts': ((0.867, 1.777, 3.447, 6.799), - (0.699, 1.401, 2.914, 6.276)), + (0.699, 1.401, 2.914, 6.276)), +'statistics': ((2.1, 4.6, 8.3, 20.2), + (0.3, 0.7, 1.6, 3.2)), +'sum': ((0.9, 1.2, 2.7, 5.9), + (0.1, 0.4, 0.8, 1.9)), } plot_params = { - 'read_parquet':(('1m', '2m', '4m', '8m'), 'Data size', 'Performance: Pandas vs SDC', True, 'upper left'), - 'read_csv':(('1 node', '2 nodes', '4 nodes', '8 nodes'), 'Number of processes', 'SDC Scalability', False, 'upper right'), - 'describe':(('1m', '2m', '4m', '8m'), 'Data size', 'Performance: Pandas vs SDC', True, 'upper left'), - 'v_counts':(('1m', '2m', '4m', '8m'), 'Data size', 'Data size', 'Performance: Pandas vs SDC', True, 'upper left'), + 'read_csv':(('1m', '2m', '4m', '8m'), 'Data size', 'Performance: Pandas vs SDC', True, 'upper left'), + 'describe':(('1m', '2m', '4m', '8m'), 'Data size', 'Performance: Pandas vs SDC', True, 'upper left'), + 'v_counts':(('1m', '2m', '4m', '8m'), 'Data size', 'Data size', 'Performance: Pandas vs SDC', True, 'upper left'), + 'statistics':(('10m', '20m', '40m', '80m'), 'Data size', 'Performance: Pandas vs SDC', True, 'upper left'), + 'sum':(('10m', '20m', '40m', '80m'), 'Data size', 'Performance: Pandas vs SDC', True, 'upper left'), } class Plotter: - def __init__(self, func_id='read_parquet'): - self.func_id = func_id - self.x_labels, self.x_title, self.title, self.is_compared, self.label_position = plot_params[self.func_id] - self.ngroups = len(self.x_labels) + def __init__(self, func_id='read_parquet'): + self.func_id = func_id + self.x_labels, self.x_title, self.title, self.is_compared, self.label_position = plot_params[self.func_id] + self.ngroups = len(self.x_labels) - def autolabel(self, rects, ax): - for rect in rects: - height = rect.get_height() - ax.annotate('{}'.format(height), - xy=(rect.get_x() + rect.get_width() / 2, height), - xytext=(0, 3), # 3 points vertical offset - textcoords="offset points", - ha='center', va='bottom', fontsize=12) + def autolabel(self, rects, ax): + for rect in rects: + height = rect.get_height() + ax.annotate('{}'.format(height), + xy=(rect.get_x() + rect.get_width() / 2, height), + xytext=(0, 3), # 3 points vertical offset + textcoords="offset points", + ha='center', va='bottom', fontsize=12) - def plot_performance(self): + def plot_performance(self): - plt.figure(figsize = (16, 8)) - # create plot - index = np.arange(self.ngroups) - bar_width = 0.35 - opacity = 0.8 + plt.figure(figsize = (16, 8)) + # create plot + index = np.arange(self.ngroups) + bar_width = 0.35 + opacity = 0.8 - plt.xlabel(self.x_title, fontsize=16) - plt.ylabel('Time, s', fontsize=16) - plt.title(self.title, fontsize=18) - - plt.tick_params(labelsize=12) + plt.xlabel(self.x_title, fontsize=16) + plt.ylabel('Time, s', fontsize=16) + plt.title(self.title, fontsize=18) + + plt.tick_params(labelsize=12) - if self.is_compared: - data_pandas, data_sdc = data_performance[self.func_id] - rects_pandas = plt.bar(index + bar_width, data_pandas, bar_width, - alpha=opacity, - label='Pandas') + if self.is_compared: + data_pandas, data_sdc = data_performance[self.func_id] + rects_pandas = plt.bar(index + bar_width, data_pandas, bar_width, + alpha=opacity, + label='Pandas') - plt.xticks(index + bar_width, self.x_labels) - else: - data_sdc = data_performance[self.func_id] - plt.xticks(index, self.x_labels) + plt.xticks(index + bar_width, self.x_labels) + else: + data_sdc = data_performance[self.func_id] + plt.xticks(index, self.x_labels) - rects_sdc = plt.bar(index, data_sdc, bar_width, - alpha=opacity, - label='SDC') + rects_sdc = plt.bar(index, data_sdc, bar_width, + alpha=opacity, + label='SDC') - if self.is_compared: - self.autolabel(rects_pandas, plt) + if self.is_compared: + self.autolabel(rects_pandas, plt) - plt.legend(fontsize=16, loc=self.label_position) - self.autolabel(rects_sdc, plt) + plt.legend(fontsize=16, loc=self.label_position) + self.autolabel(rects_sdc, plt) - plt.tight_layout() - plt.show() + plt.tight_layout() + plt.show() diff --git a/docs/demos/sdc_demo.ipynb b/docs/demos/sdc_demo.ipynb index a3c1f6b3e..e30c8dec0 100644 --- a/docs/demos/sdc_demo.ipynb +++ b/docs/demos/sdc_demo.ipynb @@ -14,7 +14,8 @@ "metadata": {}, "source": [ "### A compiler-based framework for big data in Python \n", - "Intel® Scalable Dataframe Compiler (Intel® SDC) scales analytics/ML codes in Python to bare-metal cluster/cloud performance automatically. It compiles a subset of Python (Pandas/Numpy) to efficient parallel binaries with MPI, requiring only minimal code changes\n", + "Intel® Scalable Dataframe Compiler (Intel® SDC) and Numba are strategic technologies for scaling up and out performance critical HPC and Data Analytics workflows\n", + "\n", "*****" ] }, @@ -30,7 +31,7 @@ "metadata": {}, "source": [ "*Installing Binary Packages (conda)* \n", - "`conda install -c intel -c intel/label/test sdc`" + "`conda install -c intel sdc`" ] }, { @@ -54,7 +55,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The notebook below has been made to demonstrate sdc and daal4py in a data science context. It applies a Cycling Dataset from a social fitness network, and attempts to create a linear regression model from the 5 features collected for telemetry to predict the user's Power output in the absence of a power meter " + "The notebook below has been made to demonstrate sdc and daal4py in a data science context. It applies a Cycling Dataset from a social fitness network, and attempts to create a linear regression model from the 5 features collected for telemetry to predict the user's Power output in the absence of a power meter. " ] }, { @@ -63,6 +64,7 @@ "metadata": {}, "outputs": [], "source": [ + "import sdc\n", "import numba\n", "\n", "import pandas as pd\n", @@ -72,7 +74,7 @@ "%matplotlib inline\n", "\n", "import warnings\n", - "warnings.filterwarnings('ignore')\n" + "warnings.filterwarnings('ignore')" ] }, { @@ -84,38 +86,34 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ - "@numba.jit\n", - "def read_from_parquet():\n", - " filename = 'cycling_dataset.pq'\n", - " df = pd.read_parquet(filename)\n", + "@sdc.jit\n", + "# @numba.jit(nopython=True, parallel='True')\n", + "def read_from_csv():\n", + " filename = 'data/cycling_dataset_1.csv'\n", + " # Currrently we need to provide column names and their types\n", + " names = ['altitude', 'cadence', 'distance', 'hr', 'latitude', 'longitude', 'power', 'speed', 'time']\n", + " dtypes = {\n", + " 'altitude': np.float64,\n", + " 'cadence': np.float64,\n", + " 'distance': np.float64,\n", + " 'hr': np.float64,\n", + " 'latitude': np.float64,\n", + " 'longitude': np.float64,\n", + " 'power': np.float64,\n", + " 'speed': np.float64,\n", + " 'time': str\n", + " }\n", + " df = pd.read_csv(filename, names=names, dtype=dtypes)\n", " return df" ] }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(1000000, 9)\n" - ] - } - ], - "source": [ - "df = read_from_parquet()\n", - "print(df.shape)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -154,60 +152,60 @@ " \n", " 0\n", " 185.800003\n", - " 51\n", + " 51.0\n", " 3.46\n", - " 81\n", + " 81.0\n", " 30.313309\n", " -97.732711\n", - " 45\n", + " 45.0\n", " 3.459\n", " 2016-10-20 22:01:26\n", " \n", " \n", " 1\n", " 185.800003\n", - " 68\n", + " 68.0\n", " 7.17\n", - " 82\n", + " 82.0\n", " 30.313277\n", " -97.732715\n", - " 0\n", + " 0.0\n", " 3.710\n", " 2016-10-20 22:01:27\n", " \n", " \n", " 2\n", " 186.399994\n", - " 38\n", + " 38.0\n", " 11.04\n", - " 82\n", + " 82.0\n", " 30.313243\n", " -97.732717\n", - " 42\n", + " 42.0\n", " 3.874\n", " 2016-10-20 22:01:28\n", " \n", " \n", " 3\n", " 186.800003\n", - " 38\n", + " 38.0\n", " 15.18\n", - " 83\n", + " 83.0\n", " 30.313212\n", " -97.732720\n", - " 5\n", + " 5.0\n", " 4.135\n", " 2016-10-20 22:01:29\n", " \n", " \n", " 4\n", " 186.600006\n", - " 38\n", + " 38.0\n", " 19.43\n", - " 83\n", + " 83.0\n", " 30.313172\n", " -97.732723\n", - " 1\n", + " 1.0\n", " 4.250\n", " 2016-10-20 22:01:30\n", " \n", @@ -216,12 +214,12 @@ "" ], "text/plain": [ - " altitude cadence distance hr latitude longitude power speed \\\n", - "0 185.800003 51 3.46 81 30.313309 -97.732711 45 3.459 \n", - "1 185.800003 68 7.17 82 30.313277 -97.732715 0 3.710 \n", - "2 186.399994 38 11.04 82 30.313243 -97.732717 42 3.874 \n", - "3 186.800003 38 15.18 83 30.313212 -97.732720 5 4.135 \n", - "4 186.600006 38 19.43 83 30.313172 -97.732723 1 4.250 \n", + " altitude cadence distance hr latitude longitude power speed \\\n", + "0 185.800003 51.0 3.46 81.0 30.313309 -97.732711 45.0 3.459 \n", + "1 185.800003 68.0 7.17 82.0 30.313277 -97.732715 0.0 3.710 \n", + "2 186.399994 38.0 11.04 82.0 30.313243 -97.732717 42.0 3.874 \n", + "3 186.800003 38.0 15.18 83.0 30.313212 -97.732720 5.0 4.135 \n", + "4 186.600006 38.0 19.43 83.0 30.313172 -97.732723 1.0 4.250 \n", "\n", " time \n", "0 2016-10-20 22:01:26 \n", @@ -231,12 +229,13 @@ "4 2016-10-20 22:01:30 " ] }, - "execution_count": 4, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ + "df = read_from_csv()\n", "df.head()" ] }, @@ -244,7 +243,16 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Performance of dataset loading from parquet" + "## Performance of dataset loading from csv" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Intel(R) Xeon(R) Platinum 8280 CPU @ 2.70GHz \n", + "Core(s) per socket: 28 \n", + "RAM: 256GB" ] }, { @@ -254,7 +262,7 @@ "outputs": [ { "data": { - "image/png": "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DjfffPM6AU+rVq24//77qxbhAvjSl77Es88+y4EHHsjChQv58Y9/zFlnncV1110HwKBBg2jRogUXX3zxWn0deuihHHrooVXvDzzwQPr27cshhxzCCy+8wD777MPMmTNZuHAhP/jBDxgwYEBV29J5nZIkSZIkbc2corUV6devH61ataJLly6MGDGCE088kbFjxwLwyiuvcMIJJ/CJT3yCVq1a0apVK371q1/x0ksvrdPPUUcdtVa4s+eeewLw5ptvAvDPf/6TpUuXMmzYsLWO+8pXvrJOXytXrmTMmDH069ePdu3a0apVKw455BCAqnPvsssubLvttpx99tlMmDCBt956qx7uhiRJkiRJWw4Dnq3IPffcw3PPPcfMmTNZunQpt956K126dGHJkiUcddRRTJs2je9973s88cQTPPfcc5x++umsWLFinX66dOmy1vvKBbQqV0afM2cOADvuuONa7aq/B7jkkksYNWoUJ510Eg888ADPPvsskyZNWqu/zp078+c//5mdd96ZESNG0KNHD/bYYw8mTpy4mXdEkiRJkqQtg1O0tiJ77LHHOgteATz99NPMnj2bJ554goMPPrhq++rVqzfpPDvttBMAc+fOpX///lXb586du07bO++8k5NPPpnLL7+8atuSJUvWabf33nszceJEVq9ezdSpU7nmmmsYNmwY06ZNY4899tikOiVJkiSpKR1zw5NNXcJWZ/J5B2+4UUE5gkcsW7YMYK1pVwsXLuS+++7bpP4GDBhAhw4d+P3vf7/W9tJH65Weu/S8AL/5zW9q7btly5YccMABjB49mjVr1jBjxoxNqlGSJEmSpC2JI3jEgQceSKdOnfj617/OlVdeydKlS7n66qvp2rUrH3zwwUb3t+222/Lf//3ffPe736Vjx44MGjSI5557jl//+tfrtB08eDDjx49nzz33pG/fvkyaNGmdp2Pdf//93HLLLQwdOpTevXuzdOlSrr/+ejp27MinP/3pTb5uSZIkSZK2FAY8dbQlD+MqLy/nnnvu4X/+5384/vjj2XnnnbngggtYsGABV1555Sb1OWrUKFJK/OpXv+LGG29k//33Z/LkyWtN2QK44YYbSClx2WWXATBkyBDuuOMO9ttvv6o2u+yyC+3atWP06NHMmTOHjh07su+++/Lwww/TvXv3Tb9wSZIkSZK2EJFSauoaGlVFRUWaOnVqrftnzJjB7rvv3ogVqSH5eUqSJElqrlyDp/FtCYM3IuL5lFJF9e2uwSNJkiRJklRwBjySJEmSJEkFZ8AjSZIkSZJUcAY8kiRJkiRJBWfAI0mSJEmSVHAGPJIkSZIkSQVnwCNJkiRJklRwBjySJEmSJEkFZ8AjSZIkSZJUcAY8kiRJkiRJBdeyqQsojF8c1rTnP/vxTT703nvv5Uc/+hEzZ85k8eLF7LDDDuyzzz6cc845DB48GIDHHnuMww8/vOqYtm3bsv322zNgwACOO+44Tj75ZFq3br1O30uXLuX666/nrrvu4pVXXmHVqlX07NmTo446igsvvJC+fftuct2SJEmSJKluDHi2cNdffz0XXHABp59+OhdddBEdOnTgtdde44EHHuBPf/pTVcBT2n7fffdl1apVvPPOOzz88MN8/etf58Ybb+Thhx+mvLy8qu2cOXM48sgjeeeddxg5ciQHH3wwrVu35l//+hdjx47lqaee4oUXXmjsS5YkSZIkaavTqAFPRLQBfgYcCXQBXgUuTSlNyfd/BrgJ6AE8A5yaUppdS19dgF8Dg4D5wCUppd82+EUUzHXXXcfQoUP59a9/XbXtiCOO4Gtf+xpr1qxZp/3uu+/OAQccUPX+y1/+MmeccQaHH344p59+OpMnT67aN3z4cObMmcOzzz7LLrvsUrX98MMPZ8SIEdx3330NdFWSJEmSJKlUY6/B0xJ4CzgM6AxcAfw+InpFRFdgUr6tCzAV+N16+roJWAnsCJwI3BwR/Ruw9kJasGAB3bp1q3HfNtvU7eP/9Kc/zbnnnsv999/Pa6+9BsCzzz7Lo48+yqWXXrpWuFMpIhg6dOimFy5JkiRJkuqsUQOelNLSlNKolNIbKaU1KaX7gdeB/wKOA6anlO5KKS0HRgF7RUS/6v1ERAfgi8AVKaUlKaUngT8AwxvtYgpiv/32Y/z48Vx77bW8/PLLm9zPkCFDAHjqqacAeOSRRwD4/Oc/v/lFSpIkSZKkzdKkT9GKiB2BXYHpQH9gWuW+lNJS4LV8e3W7Ah+llEoTi2m1tN2q/fznP6dv375885vfZLfddqNr166ccMIJPPTQQxvVT48ePYBs3R2At956C4CePXvWb8GSJEmSJGmjNVnAExGtgNuB8SmlmUAZ8EG1Zh8AHWs4fGPaEhFnRcTUiJg6b968zSu8YHbddVdeeOEFHn/8cS677DL23ntv7rnnHo4++miuvvrqOveTUgKyqVeSJEmSJKl5aZKAJyK2AW4jW0NnZL55CdCpWtNOwOIautiYtqSUbkkpVaSUKkqfArW1aNGiBYceeihXX301jzzyCLNmzWLPPffkyiuvZOHChXXqo3LEzk477QTAJz/5SQBmz65xDWxJkiRJktSIGj3giWwIyK/JFkf+YkppVb5rOrBXSbsOwKfy7dW9DLSMiNLVffeqpa2q2XnnnTnzzDNZvXo1r7zySp2OeeCBBwA46KCDADjyyCMB1nqqliRJkiRJahpNMYLnZmB34JiU0ocl2+8B9oiIL0ZEW+DbwD/y6VtrydfnmQRcFREdIuIg4FiyUUEqUTnyprqZM7PbWtsTtko9/fTT/OIXv2Do0KH06dMHyBZv/sxnPsOYMWN49dVXazzOx6RLkiRJktQ4WjbmySKiJ3A2sAL4v5L1XM5OKd0eEV8EbgQmAM8AXyk59lLgkJTSZ/NNI4CxwLvAe8C5KSVH8FSzxx57cPjhh/OFL3yB3r17s2jRIh588EF+/vOfM2zYsKrFkyvNmDGDsrIyVq9ezZw5c3jooYe47bbb+I//+A9++ctfrtX2tttu48gjj2TfffflvPPO4+CDD6Z169bMnDmTsWPHsmrVKo499tjGvFxJkiRJkrZKjRrwpJRmA7Wu0ptSegRY57Ho+b4x1d4vAIbWa4Hrc/bjjXaq+vT973+fBx98kG9/+9vMnTuXFi1asOuuu/K9732PCy+8cJ32559/PgBt2rRh++23Z6+99uKmm25i+PDhtG7deq22O+20E8888wzXX389d911Fz/84Q9ZvXo1vXr1YvDgwVxwwQWNco2SJEmSJG3tovLpSFuLioqKNHXq1Fr3z5gxg913370RK1JD8vOUJEmS1Fwdc8OTTV3CVmfyeQc3dQmbLSKeTylVVN/eZI9JlyRJkiRJUv0w4JEkSZIkSSo4Ax5JkiRJkqSCM+CRJEmSJEkqOAOeGmxtC09vqfwcJUmSJElbCwOealq1asWHH37Y1GWoHnz44Ye0adOmqcuQJEmSJKnBGfBUs8MOO/D222+zbNkyR4AUUEqJVatWsWDBAv7973+z/fbbN3VJkiRJkiQ1uJZNXUBz06lTJwDeeecdVq1a1cTVaFO0bNmStm3b0qNHD9q2bdvU5UiSJEmS1OAMeGrQqVOnqqBHkiRJkiSpuXOKliRJkiRJUsEZ8EiSJEmSJBWcAY8kSZIkSVLBGfBIkiRJkiQVnAGPJEmSJElSwRnwSJIkSZIkFZwBjyRJkiRJUsEZ8EiSJEmSJBWcAY8kSZIkSVLBGfBIkiRJkiQVnAGPJEmSJElSwRnwSJIkSZIkFZwBjyRJkiRJUsEZ8EiSJEmSJBWcAY8kSZIkSVLBGfBIkiRJkiQVnAGPJEmSJElSwRnwSJIkSZIkFZwBjyRJkiRJUsEZ8EiSJEmSJBWcAY8kSZIkSVLBGfBIkiRJkiQVnAGPJEmSJElSwRnwSJ/x8K0AACAASURBVJIkSZIkFZwBjyRJkiRJUsEZ8EiSJEmSJBWcAY8kSZIkSVLBGfBIkiRJkiQVnAGPJEmSJElSwRnwSJIkSZIkFZwBjyRJkiRJUsEZ8EiSJEmSJBWcAY8kSZIkSVLBGfBIkiRJkiQVnAGPJEmSJElSwRnwSJIkSZIkFZwBjyRJkiRJUsE1esATESMjYmpErIiIcSXbT4yIJSWvZRGRIuK/aunnsYhYXtL+pUa7CEmSJEmSpGakKUbwvANcDYwt3ZhSuj2lVFb5AkYAs4C/raevkSXH7NZwJUuSJEmSJDVfLRv7hCmlSQARUQF0X0/TU4BbU0qpUQqTJEmSJEkqqGa5Bk9E9AQOBW7dQNNrImJ+RDwVEQPX099Z+bSwqfPmzavPUiVJkiRJkppcswx4gJOBJ1JKr6+nzbeAPsAngFuAyRHxqZoappRuSSlVpJQqysvL679aSZIkSZKkJtScA57x62uQUnompbQ4pbQipTQeeAoY0ijVSZIkSZIkNSPNLuCJiIOAnYG7N/LQBET9VyRJkiRJktS8NcVj0ltGRFugBdAiItpGROliz6cAE1NKi9fTx7YRcXTlsRFxItmaPX9s2OolSZIkSZKan6YYwXM58CFwMXBS/vflAHnwM4wapmdFxKURMSV/24rsUevzgPnAecDQlNJLDV69JEmSJElSM9MUj0kfBYyqZd9yYNta9o0p+XsesG8DlCdJkiRJklQ4zW4NHkmSJEmSJG0cAx5JkiRJkqSCM+CRJEmSJEkqOAMeSZIkSZKkgjPgkSRJkiRJKjgDHkmSJEmSpIIz4JEkSZIkSSo4Ax5JkiRJkqSCM+CRJEmSJEkqOAMeSZIkSZKkgjPgkSRJkiRJKjgDHkmSJEmSpIIz4JEkSZIkSSo4Ax5JkiRJkqSCM+CRJEmSJEkqOAMeSZIkSZKkgjPgkSRJkiRJKjgDHkmSJEmSpIIz4JEkSZIkSSo4Ax5JkiRJkqSCM+CRJEmSJEkqOAMeSZIkSZKkgjPgkSRJkiRJKjgDHkmSJEmSpIIz4JEkSZIkSSo4Ax5JkiRJkqSCM+CRJEmSJEkqOAMeSZIkSZKkgjPgkSRJkiRJKjgDHkmSJEmSpIIz4JEkSZIkSSo4Ax5JkiRJkqSCM+CRJEmSJEkqOAMeSZIkSZKkgjPgkSRJkiRJKjgDHkmSJEmSpIIz4JEkSZIkSSo4Ax5JkiRJkqSCM+CRJEmSJEkqOAMeSZIkSZKkgjPgkSRJkiRJKjgDHkmSJEmSpIIz4JEkSZIkSSo4Ax5JkiRJkqSCM+CRJEmSJEkqOAMeSZIkSZKkgmv0gCciRkbE1IhYERHjSrb3iogUEUtKXlesp58uEXFPRCyNiNkR8dVGuQBJkiRJkqRmpmUTnPMd4GrgaKBdDfu3TSmtrkM/NwErgR2BvYEHImJaSml6vVUqSZIkSZJUAI0+gielNCmldC/w3qb2EREdgC8CV6SUlqSUngT+AAyvpzIlSZIkSZIKozmuwTM7Iv4dEb+JiK61tNkV+Cil9HLJtmlA/5oaR8RZ+bSwqfPmzavveiVJkiRJkppUcwp45gP7Aj2B/wI6ArfX0rYM+KDatg/yY9aRUrolpVSRUqooLy+vp3IlSZIkSZKah6ZYg6dGKaUlwNT87dyIGAnMiYhOKaVF1ZovATpV29YJWNzAZUqSJEmSJDU7zWkET3Up/zdq2Pcy0DIidinZthfgAsuSJEmSJGmr0xSPSW8ZEW2BFkCLiGibb9s/InaLiG0iYnvgeuCxlFL1qViklJYCk4CrIqJDRBwEHAvc1pjXIkmSJEmS1Bw0xQiey4EPgYuBk/K/Lwf6AP9LNs3qRWAFcELlQRFxaURMKelnBNlj1t8F7gDO9RHpkiRJkiRpa9Toa/CklEYBo2rZfcd6jhtT7f0CYGi9FSZJkiRJklRQzXkNHkmSJEmSJNWBAY8kSZIkSVLBGfBIkiRJkiQVnAGPJEmSJElSwRnwSJIkSZIkFZwBjyRJkiRJUsEZ8EiSJEmSJBWcAY8kSZIkSVLBGfBIkiRJkiQVnAGPJEmSJElSwRnwSJIkSZIkFZwBjyRJkiRJUsEZ8EiSJEmSJBWcAY8kSZIkSVLBGfBIkiRJkiQVnAGPJEmSJElSwRnwSJIkSZIkFZwBjyRJkiRJUsEZ8EiSJEmSJBWcAY8kSZIkSVLBGfBIkiRJkiQVnAGPJEmSJElSwRnwSJIkSZIkFZwBjyRJkiRJUsEZ8EiSJEmSJBWcAY8kSZIkSVLBGfBIkiRJkiQVnAGPJEmSJElSwRnwSJIkSZIkFZwBjyRJkiRJUsEZ8EiSJEmSJBWcAY8kSZIkSVLBGfBIkiRJkiQVnAGPJEmSJElSwRnwSJIkSZIkFZwBjyRJkiRJUsEZ8EiSJEmSJBWcAY8kSZIkSVLBGfBIkiRJkiQVnAGPJEmSJElSwRnwSJIkSZIkFZwBjyRJkiRJUsEZ8EiSJEmSJBWcAY8kSZIkSVLBGfBIkiRJkiQVnAGPJEmSJElSwRnwSJIkSZIkFVyjBzwRMTIipkbEiogYV7L9gIh4OCIWRMS8iLgrInZaTz+PRcTyiFiSv15qlAuQJEmSJElqZppiBM87wNXA2GrbtwNuAXoBPYHFwG820NfIlFJZ/tqtvguVJEmSJEkqgpaNfcKU0iSAiKgAupdsn1LaLiJuBB5v3OokSZIkSZKKpzmvwXMoMH0Dba6JiPkR8VREDKytUUSclU8Lmzpv3rx6LVKSJEmSJKmpNcuAJyIGAN8GLlpPs28BfYBPkE3tmhwRn6qpYUrplpRSRUqpory8vN7rlSRJkiRJakrNLuCJiL7AFOCClNITtbVLKT2TUlqcUlqRUhoPPAUMaaw6JUmSJEmSmotmFfBERE/gEWB0Sum2jTw8AVH/VUmSJEmSJDVvTfGY9JYR0RZoAbSIiLb5tk8AfwJuSin9fAN9bBsRR5cceyLZmj1/bPgrkCRJkiRJal4a/SlawOXAd0renwRcSTYCpw/wnYio2p9SKgOIiEuBQ1JKnwVakT1qvR/wETATGJpSeqlRrkCSJEmSJKkZaYrHpI8CRtWy+8r1HDem5O95wL71WpgkSZIkSVJB1WmKVkR0jYge1badHRE3RMTnGqY0SZIkSZIk1UVd1+AZC1xc+SYirgBuBr4K3BcRX26A2iRJkiRJklQHdQ14KoBHS96fA4xJKW0P3AR8o74LkyRJkiRJUt3UNeDpAswFiIg9gG7A+HzfvcBu9V+aJEmSJEmS6qKuAc97QPf87yOAd1JKr+TvW21EP5IkSZIkSapndX2K1iPAqIjoCvwP2aidSv2A2fVdmCRJkiRJkuqmriNvvgm8BVwDvMbajzM/EXiynuuSJEmSJElSHdVpBE9KaS5wVC27jwSW11tFkiRJkiRJ2ih1naJVq5TSovooRJIkSZIkSZvGxZElSZIkSZIKzoBHkiRJkiSp4Ax4JEmSJEmSCs6AR5IkSZIkqeAMeCRJkiRJkgpuswOeiDg5IgbVRzGSJEmSJEnaePUxgmccMCUi/hERX66H/iRJkiRJkrQR6iPgORw4BrgfGFkP/UmSJEmSJGkjtNzcDlJKj+d/Pri5fUmSJEmSJGnjuciyJEmSJElSwdU54ImIfSJiUkTMj4jVEfGf+fYxETG44UqUJEmSJEnS+tQp4ImIg4GngX7Ab6sdtwY4p/5LkyRJkiRJUl3UdQTP94A/Av2Bb1Tb9zfgP+uzKEmSJEmSJNVdXRdZ/k/guJRSiohUbd98oLx+y5IkSZIkSVJd1XUEz3KgfS37dgI+qJ9yJEmSJEmStLHqGvA8CVwYES1KtlWO5DkD+FO9ViVJkiRJkqQ6q+sUrSuAp4BpwN1k4c4pEfEj4L+AfRumPEmSJEmSJG1InUbwpJSmAYcCc4HLgABG5rsPSym91DDlSZIkSZIkaUPqOoKHlNLfgM9ERFugC/B+SmlZg1UmSZIkSZKkOqlzwFMppbQceKcBapEkSZIkSdImqHPAExG7A8cDnwTaVtudUkqn1GdhkiRJkiRJqps6BTwRcTIwlmxx5XeBldWapHUOkiRJkiRJUqPYmKdo3QeckVJ6vwHrkSRJkiRJ0kaqa8DTDTjHcEeSJEmSJKn5qdNj0oGngN0bshBJkiRJkiRtmrqO4BkJTIqI94CHgIXVG6SU1tRnYZIkSZIkSaqbugY8/wZeACbUsj9tRF+SJEmSJEmqR3UNZX4JfBm4F5jJuk/RkiRJkiRJUhOpa8BzLHBRSumnDVmMJEmSJEmSNl5dF1leCvyrIQuRJEmSJEnSpqlrwPMb4KsNWYgkSZIkSZI2TV2naM0GToiIh4H/peanaI2tz8IkSZIkSZJUN3UNeG7O/+0JfKaG/Qkw4JEkSZIkSWoCdQ14ejdoFZIkSZIkSdpkdQp4UkqzG7oQSZIkSZIkbZq6LrIsSZIkSZKkZqrWETwRMQv4QkppWkS8TrbOTm1SSulT9V6dJEmSJEmSNmh9I3geBxaV/L2+11/qesKIGBkRUyNiRUSMq7bvMxExMyKWRcSfI6LnevrpEhH3RMTSiJgdET7GXZIkSZIkbZVqHcGTUjqt5O9T6/Gc7wBXA0cD7So3RkRXYBJwJjAZGA38Djigln5uAlYCOwJ7Aw9ExLSU0vR6rFWSJEmSJKnZq3UET0TMioi96vuEKaVJKaV7gfeq7ToOmJ5SuiultBwYBewVEf1qqK0D8EXgipTSkpTSk8AfgOH1Xa8kSZIkSVJzt74pWr2ANo1UB0B/YFrlm5TSUuC1fHt1uwIfpZReLtk2rZa2RMRZ+bSwqfPmzavHkiVJkiRJkppec3qKVhnwQbVtHwAdN7MtKaVbUkoVKaWK8vLyzS5UkiRJkiSpOdlQwLO+J2fVtyVAp2rbOgGLN7OtJEmSJEnSFq3WRZZzV0bE/Dr0k1JKp2xmLdOBqj7ydXY+lW+v7mWgZUTsklJ6Jd+2Vy1tJUmSJEmStmgbCnj2BlbUoZ86j/SJiJb5eVsALSKiLbAauAe4NiK+CDwAfBv4R0pp5jonS2lpREwCroqIM/M6jwUOrGsdkiRJkiRJW4oNBTxDU0rP1vM5Lwe+U/L+JODKlNKoPNy5EZgAPAN8pbJRRFwKHJJS+my+aQQwFniX7Ilc5/qIdEmSJEmStDXaUMBT71JKo8gegV7TvkeAdR6Lnu8bU+39AmBoPZcnSZIkSZJUOM3pKVqSJEmSJEnaBAY8kiRJkiRJBVfrFK2UkuGPJEmSJElSARjiSJIkSZIkFZwBjyRJkiRJUsEZ8EiSJEmSJBWcAY8kSZIkSVLBGfBIkiRJkiQVnAGPJEmSJElSwRnwSJIkSZIkFZwBjyRJkiRJUsEZ8EiSJEmSJBWcAY8kSZIkqUm98cYbDBkyhO22245u3boxcuRIVq9evU67cePG0aJFC8rKyqpejz32WNX+gQMH0rZt26p9u+2221rniIi1jh09enRjXJ7UKFo2dQGSJEmSpK3biBEj2GGHHZgzZw7vv/8+Rx11FD/72c84//zz12n76U9/mieffLLWvm688UbOPPPMWve///77tGzpT2FteRzBI0mSJElqUq+//jrDhg2jbdu2dOvWjcGDBzN9+vSmLksqFAMeSZIkSVKTuuCCC7jzzjtZtmwZb7/9NlOmTGHw4ME1tn3hhRfo2rUru+66K6NHj15nKtcll1xC165dOeigg9aavlWpZ8+edO/endNOO4358+c3xOVITcKAR5IkSZLUpA477DCmT59Op06d6N69OxUVFQwdOnSddoceeigvvvgi7777LhMnTuSOO+7g2muvrdr//e9/n1mzZvH2229z1llnccwxx/Daa68B0LVrV5577jlmz57N888/z+LFiznxxBMb7RqlhmbAI0mSJElqMmvWrOHoo4/muOOOY+nSpcyfP5+FCxfyrW99a522ffr0oXfv3myzzTbsueeefPvb3+buu++u2r///vvTsWNH2rRpwymnnMJBBx3Egw8+CEBZWRkVFRW0bNmSHXfckRtvvJGHHnqIRYsWNdq1Sg3JgEeSJEmS1GQWLFjAW2+9xciRI2nTpg3bb789p512WlUwsz4RQUppk/ZHBMB6j5eKxIBHkiRJktRkunbtSu/evbn55ptZvXo177//PuPHj2evvfZap+2UKVOYO3cuADNnzmT06NEce+yxQPZ0rD/+8Y8sX76c1atXc/vtt/OXv/yFo48+GoBnnnmGl156iTVr1vDee+9x/vnnM3DgQDp37tx4Fys1IAMeSZIkSVKTmjRpEv/7v/9LeXk5ffv2pWXLlvz4xz/mzTffpKysjDfffBOARx99lAEDBtChQweGDBnCcccdx6WXXgrAqlWruPzyyykvL6dr167ccMMN3Hvvvey2224AzJo1i8GDB9OxY0f22GMP2rRpwx133NFk1yzVt9jahqNVVFSkqVOnNnUZkiRJkqSt3DE3PNnUJWx1Jp93cFOXsNki4vmUUkX17Y7gkSRJkiRJKjgDHkmSJEmSpIIz4JEkSZIkSSo4Ax5JkiRJkqSCa9nUBUiSJEmSmoFfHNbUFWyFvtvUBWgL4ggeSZIkSZKkgjPgkSRJkiRJKjgDHkmSJEmSpIIz4JEkSZIkSSo4Ax5JkiRJkqSCM+CRJEmSJEkqOAMeSZIkSZKkgjPgkSRJkiRJKjgDHkmSJEmSpIIz4JEkSZIkSSo4Ax5JkiRJkqSCM+CRJEmSJEkqOAMeSZIkSZKkgjPgkSRJkiRJKjgDHkmSJEmSpIIz4JEkSZIkSSo4Ax5JkiRJkqSCM+CRJEmSJEkqOAMeSZIkSZKkgmtWAU9ELKn2+igibqil7an5/tL2Axu5ZEmSJEmSpCbXsqkLKJVSKqv8OyI6AHOBu9ZzyNMppYMbvDBJkiRJkqRmrFmN4KnmeOBd4ImmLkSSJEmSJKk5a84BzynArSmltJ42+0TE/Ih4OSKuiIhmNSJJkiRJkiSpMTTLQCQiegCHAWesp9lfgD2A2UB/4HfAauCaGvo7CzgLoEePHvVdriRJkiRJUpNqriN4TgaeTCm9XluDlNKslNLrKaU1KaV/AleRTeuqqe0tKaWKlFJFeXl5A5UsSZIkSZLUNJpzwDN+I49JQDRALZIkSZIkSc1aswt4IuJA4BOs/+lZRMRnI2LH/O9+wBXAfQ1foSRJkiRJUvPS7AIessWVJ6WUFpdujIgeEbEkX58H4DPAPyJiKfAgMAkY07ilSpIkSf9/e/ceZGV15nv8+9gItmxQtFGBFlAZkOD1gLdIlMIYBW8TjOYClBiPxAuS6GHiDUSEzMEZZwYjyjHHa8RIomY0JioxJgrmjCnbgAa8EEFoQQVUBBppoNt1/uimp4HmpnTv/TbfT9Wu3vtd6137WVXUW90/1rteSZLyr+A2WU4p/WArx8uBXL3Po4BRTVWXJEmSJElSoSrEFTySJEmSJEnaCQY8kiRJkiRJGWfAI0mSJEmSlHEGPJIkSZIkSRlnwCNJkiRJkpRxBjySJEmSJEkZZ8AjSZIkSZKUcQY8kiRJkiRJGWfAI0mSJDVT06ZNo2fPnrRu3ZrDDjuMmTNnbtHnwQcfpHfv3rRt25bS0lJ+/OMfU1VVVdc+ZMgQOnToQNu2benevTv33HNPXdvChQuJCHK5XN1r/PjxTTI3SdKmWuS7AEmSJEm73nPPPce1117LL3/5S44//ng++OCDBvt99tlnTJo0iRNOOIHly5dz7rnnctttt3HdddcBcP3113PvvffSqlUr3nrrLfr168exxx5L796968b49NNPadHCPy0kKZ+8CkuSJEnN0NixY7nppps48cQTAejUqVOD/S6//PK69506dWLw4MH86U9/qjvWq1evuvcRQUQwf/78TQIeSVL+eYuWJEmS1MxUV1dTVlbG8uXL6datG6WlpYwYMYK1a9du99wZM2ZsEuoAXHHFFey9994cfvjhdOjQgYEDB27S3qVLF0pLS7n44ov56KOPdulcJEk7xoBHkiRJamaWLl3Khg0beOyxx5g5cyazZ89m1qxZTJgwYZvn3X///ZSVlTFq1KhNjt91112sXr2amTNnMmjQIFq1agVASUkJr7zyCosWLeLVV19l9erVDB48uNHmJUnaOgMeSZIkqZkpLi4G4KqrrqJDhw6UlJRwzTXX8PTTT2/1nCeeeILrrruOZ555hpKSki3ai4qK6Nu3L4sXL2bKlCkA5HI5+vTpQ4sWLTjwwAOZPHkyv//971m1alXjTEyStFXuwSNJkiQ1M+3ataO0tJSI2KH+zz77LJdeeim/+93vOPLII7fZt6qqivnz5zfYtvH7Uko7V7Ak6UtzBY8kSZLUDF188cXccccdLFu2jBUrVjBp0iTOPvvsLfr98Y9/ZPDgwTz++OMcf/zxm7QtW7aMadOmUVFRQXV1NdOnT+eRRx6hf//+APzlL3/h7bff5vPPP+fjjz9m5MiR9OvXj3322adJ5ihJ+m8GPJIkSVIzNGbMGI477ji6d+9Oz549OfbYY7nxxhspLy8nl8tRXl4OwPjx41m5ciUDBw4kl8uRy+UYMGAAULMiZ8qUKZSWltKuXTtGjRrFpEmTOO+88wBYsGABZ555Jm3atOGII46gVatWPPLII3mbsyTtzmJ3Wz7Zp0+fVFZWlu8yJEmSJKmw3H1qvivY7Zyz/if5LmG389RVffNdwpcWEa+mlPpsftwVPJIkSZIkSRlnwCNJkiRJkpRxBjySJEmSJEkZZ8AjSZIkSZKUcS3yXYAkSZLUXJ1zx0v5LmG30xw2UJWkL8IVPJIkSZIkSRlnwCNJkiRJkpRxBjySJEmSJEkZZ8AjSZIkSZKUcQY8kiRJkiRJGWfAI0mSJEmSlHEGPJIkSZIkSRlnwCNJkiRJkpRxBjySJEmSJEkZZ8AjSZIkSZKUcQY8kiRJkiRJGWfAI0mSJEmSlHEGPJIkSZIkSRlnwCNJkiRJkpRxBjySJEmSJEkZZ8AjSZIkSZKUcQY8kiRJkiRJGWfAI0mSJEmSlHEGPJIkSZIkSRlnwCNJkiRJkpRxBjySJEmSJEkZZ8AjSZIkSZKUcQY8kiRJkiRJGWfAI0mSJEmSlHEFF/BExAsRURkRFbWvt7fR9+qI+DAiVkbEfRHRqilrlSRJkiRJKgQFF/DUGpFSytW+ejTUISLOAK4DTgO6AocC45quREmSJEmSpMJQqAHPjrgIuDelNDeltAIYDwzLb0mSJEmSJElNr1ADnv8dER9FxJ8jot9W+vQCXqv3+TXgwIjYf/OOETE8Isoiomz58uWNUK4kSZIkSVL+FGLAcy01t1t1An4GPBURhzXQLwesrPd54/s2m3dMKf0spdQnpdSnffv2u7peSZIkSZKkvCq4gCel9JeU0uqU0rqU0oPAn4GBDXStANrW+7zx/erGrlGSJEmSJKmQFFzA04AERAPH5wJH1/t8NLA0pfRxk1QlSZIkSZJUIAoq4ImIfSPijIjYKyJaRMRg4BRgegPdfw5cEhFfiYh2wGjggSYsV5IkSZIkqSAUVMAD7AlMAJYDHwFXAf+YUno7IjpHREVEdAZIKT0L/AvwJ2BR7WtsfsqWJEmSJEnKnxb5LqC+lNJy4LittJVTs7Fy/WP/Dvx7E5QmSZIkSZJUsAptBY8kSZIkSZJ2kgGPJEmSJElSxhnwSJIkSZIkZZwBjyRJkiRJUsYZ8EiSJEmSJGWcAY8kSZIkSVLGGfBIkiRJkiRlnAGPJEmSJElSxhnwSJIkSZIkZZwBjyRJkiRJUsYZ8EiSJEmSJGWcAY8kSZIkSVLGGfBIkiRJkiRlnAGPJEmSJElSxhnwSJIkSZIkZZwBjyRJkiRJUsYZ8EiSJEmSJGWcAY8kSZIkSVLGGfBIkiRJkiRlnAGPJEmSJElSxhnwSJIkSZIkZZwBjyRJkprEkCFD6NChA23btqV79+7cc889DfabM2cOZ5xxBiUlJUTEFu39+vVjr732IpfLkcvl6NGjR13b+vXr+da3vkXXrl2JCF544YXGmo4kSQXFgEeSJElN4vrrr2fhwoWsWrWK3/zmN4wePZpXX311i3577rknF154Iffee+9Wx5o8eTIVFRVUVFTw9ttvb9LWt29fpk6dykEHHbTL5yBJUqFqke8CJEmStHvo1atX3fuIICKYP38+vXv33qRfjx496NGjB++8885Of0fLli350Y9+BEBRUdGXK1iSpAxxBY8kSZKazBVXXMHee+/N4YcfTocOHRg4cOAXGuf666+npKSEk08+2duwJEnCgEeSpExat24dl1xyCV26dKFNmzYce+yxPPPMM1vte/XVV9OxY0fatWvHFVdcwYYNG+rat7cvyj333EO3bt3I5XKceeaZvP/++406NzVvd911F6tXr2bmzJkMGjSIVq1a7fQYt956KwsWLGDJkiUMHz6cc845h/nz5zdCtZIkZYcBjyRJGVRVVcXBBx/Miy++yMqVKxk/fjwXXnghCxcu3KLvxIkTKSsrY86cOcybN4+//vWvTJgwoa59W/uivPjii9xwww08+eSTfPLJJxxyyCF897vfbappqpkqKiqib9++LF68mClTpuz0+SeccAJt2rShVatWXHTRRZx88sk8/fTTjVCpJEnZYcAjSVIGtW7dmptvvpmuXbuyxx57cPbZZ3PIIYc0uGHtU089xciRI9lvv/1o3749I0eO5L777qtr79WrV90qivr7omw894ILLqBXr160bNmSMWPGMGPGDFdLaJeoqqraJf+WIoKU0i6oSJKk7DLgkSSpGVi6dCnz5s3bZBPbjVJKm/zxm1Ji8eLFrFy5su7Y1vZFaehcqHmMtbQzli1bxrRp06ioqKC6uprp06fzyCOP0L9//y36ppSorKxk/fr1AFRWVrJu3ToAPv30U6ZPn05lZSVVVVU8/PDDzJgxgzPOOKPu/HXr1lFZWQnUPDa9srLSJ1jZFAAAFxFJREFUAEiS1OwZ8EiSlHEbNmxg8ODBXHTRRRx++OFbtA8YMIDbb7+d5cuX8+GHH/LTn/4UgM8++6yuz9b2RRk4cCC/+tWveP3111m7di233HILEbHJudKOiAimTJlCaWkp7dq1Y9SoUUyaNInzzjuP8vJycrkc5eXlACxatIji4uK6wLK4uJgePXoANf/eR48eTfv27SkpKeGOO+7giSeeqGuHmqdwFRcXs2TJEs444wyKi4tZtGhR009akqQm5GPSJUnKsM8//5yhQ4fSsmVLJk+e3GCfG2+8kU8//ZRjjjmGVq1acemllzJr1iwOOOCATfpt3Bdl6tSpTJkyhZEjR3Laaacxbtw4zj//fFauXMnVV19NmzZtKC0tbYrpqRlp3749L774YoNtnTt3pqKiou5z165dt7ripn379rzyyivb/K6G9qKSJKm5cwWPJEkZlVLikksuYenSpTz++OPsueeeDfYrLi5m8uTJLFmyhAULFrD//vvTu3dvioqKGuy/+b4oV155JX//+99ZtmwZ559/PlVVVRxxxBGNMidJkiR9MQY8kiRl1OWXX86bb77JU089RXFx8Vb7LVmyhPfff5+UEi+//DLjx49n3LhxwPb3RamsrGTOnDmklCgvL2f48OH88Ic/pF27dk0yR0mSJO0YAx5JkjJo0aJF3H333cyePZuDDjqIXC5HLpfj4Ycf3mI/k/nz5/PVr36V1q1bc9FFFzFx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efPmsWHDBh588EHOPPPMHR7n0UcfpWXLlgwcOLARZyRJkiRJaiwt8l2ApIZVVFSwzz77bHJsn332YfXq1Vv07dChA1/72tfo0aMHRUVFHHzwwfzxj3/coXEqKiq44YYb+P3vf99IM5EkSZIkNTZX8EgFKpfLsWrVqk2OrVq1ijZt2mzRd9y4cbzyyiu89957VFZWMnbsWPr3789nn3223XHGjh3L0KFDOeSQQxpvMpIkSZKkRmXAIxWo7t27U1VVxd///ve6Y6+99hq9evXaou9rr73Gt7/9bUpLS2nRogXDhg1jxYoVvPHGG9sd5/nnn+enP/0pBx10EAcddBDvvfceF154IbfeemvjT1KSJEmStEsY8OhL2dHHbz/wwAMUFRWRy+XqXi+88EJd++TJk+nTpw+tWrVi2LBhTVN8gWvdujWDBg3ipptuYs2aNfz5z3/mySef3OTpWBsdd9xxPProoyxdupTPP/+chx56iA0bNtCtW7ftjvP8888zZ84cZs+ezezZs+nYsSN33303V155ZVNPWZIkSZL0BbkHj76U+o/fnj17NmeddRZHH310g6tMTjrpJF566aUGx+nYsSOjR49m+vTprF27trHLzoy77rqL73//+xxwwAHsv//+TJkyhV69elFeXs5XvvIV3njjDTp37sy1117LsmXLOOaYY1izZg3dunXj8ccfZ999993mOAD777//Jt9ZVFREu3btyOVyTT5fSZIkSdIXY8CjL2zj47fnzJmzxeO3J06cuFNjDRo0CICysjIWL17cGOVm0n777ccTTzyxxfHOnTtTUVFR93mvvfbizjvv5M4779ypcRqycOHCL1SrJEmSJCl/vEVLX9jOPMYbYNasWZSUlNC9e3fGjx9PVVVVU5UqSZIkSVKz5goefWE78xjvU045hTlz5tClSxfmzp3Lt7/9bVq0aMH111/fVOVKkiRJktRsuYJHX9jOPMb70EMP5ZBDDmGPPfbgyCOP5KabbuKxxx5rqlIlSZIkSWrWDHj0he3MY7w3FxGklBqzPEmSJEmSdhsGPPrCduYx3s888wxLly4F4K233mL8+PGcd955de1VVVVUVlZSXV1NdXU1lZWV7tEjSZIkSdIOcg8efSk7+hjv559/nmHDhlFRUcGBBx7IkCFDuOGGG+rGmTBhAuPGjav7PHXqVMaOHcvNN9+ch1lt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\n", + "image/png": "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6TmmVtV26T3V67AkK6U3LevY9NaAGW5vTm9az2vTC05uSi/oeiLJl5ek49bae6vquiRHpDfyYrkkf0hvatDAJ0odXFU/TnJIeiOZxqb34/yX+cvIpmXt39IbOfO2JJ/sn/+b6d2Dpy2GvChaax+rqplJjkkvRPpDeoHP/UnOHNT8mPSeKjb7+/eH9NZHujp/eaJX0rt/n0jyqvTW3hmf5M70go0Ptdb+NMTafllVv06yRZJL57EWznVJzk/v0fBvSjIqye/Te+rbUL6vByV5db/OA/p13pveZ3t0a21eoctW6S0enfQWRJ/er+NtSb7RWntkHtcxvap2SG+q1v7p/Te8SnoLMF+XXrC6RN9nAFiaasATSQEAAADoIGvwAAAAAHScgAcAAACg4wQ8AAAAAB0n4AEAAADouM4/RWvSpElt/fXXH+kyAAAAAJa5X/ziF/e01iYP3t75gGf99dfP1KlTR7oMAAAAgGWuqm6f13ZTtAAAAAA6TsADAAAA0HECHgAAAICOE/AAAAAAdJyABwAAAKDjBDwAAAAAHdf5x6QPxWOPPZZ77703Dz74YJ588smRLofFMHbs2EyaNCmrrLLKSJcCAAAAzzjP+oDnsccey+9///tMnDgx66+/fsaMGZOqGumyWASttTzyyCO54447svzyy2fcuHEjXRIAAAA8ozzrp2jde++9mThxYiZNmpSxY8cKdzqoqrLiiitm0qRJmT59+kiXAwAA0Gm33XZb9thjj0ycODFrrrlmjjjiiMyaNWuuNieffHKqKpdeeukC+zrnnHOy2WabZaWVVspGG22Uyy+/PElyww03ZMqUKZk4cWImTpyYnXfeOTfccMMyuyaeAwHPgw8+mAkTJox0GSwFK6+8ch599NGRLgMAAKDTDjvssKyxxhq58847c+211+YnP/lJPvOZz8zZf8stt+S8887LWmuttcB+Lrnkkhx77LH58pe/nAcffDA//elPs+GGGyZJ1l577Zx33nm59957c8899+R1r3td9ttvv2V6Xc91z/qA58knn8yYMWNGugyWgtGjRz8tVQYAAGDR/O53v8u+++6bcePGZc0118zuu++e66+/fs7+I444Ih/5yEcyduzYBfbz/ve/PyeeeGJe9rKXZbnllss666yTddZZJ0my6qqrZv31109VpbWWUaNG5eabb16m1/Vc96wPeJKYlvUs4XMEAABYckcddVTOOeecPPzww/njH/+Y73//+9l9992TJOeee27Gjh2bPfbYY4F9PPnkk5k6dWqmT5+ejTfeOOuuu26OOOKIPPLII3O1W3XVVTNu3LgceeSROe6445bZNfEcCXgAAACAnle84hW5/vrrM2HChKy77rqZMmVK9txzz8ycOTPHHXdcPvGJTyy0j7vuuitPPPFEzjvvvFx++eW59tprc8011+SUU06Zq919992X+++/P5/61Key9dZbL6tLIgIeAAAAeM546qmnsttuu2WvvfbKQw89lHvuuSczZszIsccem/e///054IADssEGGyy0nxVWWCFJcuSRR2attdbKpEmTcswxx+Tiiy9+WtuVVlophx56aA488MDcfffdS/2a6HnWPyZ9QV57+s9G9PwXHrn9Yh33la98JQcddNCc9+PHj8+GG26Yf/iHf8ihhx6a0aOH72Otqrz//e/PSSedNGznBAAAYPHce++9+cMf/pAjjjgiyy+/fJZffvkcdNBBOf744zN69OjccccdcxZcnj59evbdd98ce+yxOfbYY+fqZ+LEiVl33XWHvJTGU089NWdK2BprrLHUrwsjeDrt3HPPzZVXXplvf/vb2XbbbXPkkUfmX/7lX0a6LAAAAJ6hJk2alA022CCf/exnM2vWrNx3330566yzsuWWW+ZHP/pRfv3rX+faa6/Ntddem7XXXjuf//znc/jhh8+zr4MOOiinn3567r777syYMSOf+MQn8prXvCZJ7wlb11xzTZ588sk88MADOeaYYzJx4sRsttlmw3m5zykCng7baqut8rKXvSy77rprvvCFL2THHXcc0lxJAAAAnrvOP//8/OAHP8jkyZOz8cYbZ/To0fn3f//3rL766llzzTXnvEaNGpWJEydm/PjxSZJTTz01r371q+f0c8IJJ2SbbbbJC1/4wmy22WbZeuut8773vS9Jb+2d/fffP6ussko22mij3HzzzfnBD36QcePGjcg1PxcIeJ5Fttlmmzz44IO5++67c8455+SVr3xlJk+enPHjx2frrbfOWWed9bRjqirHH398TjvttGywwQZZeeWV5yy4NdCTTz6Z448/PmuttVZWXHHF7Ljjjk9rkyQ333zznDmbK6ywQjbccMO8853vzIwZM+Zqd/XVV2eXXXbJ6quvnhVXXDEbbrhhDjvssKV7QwAAAHiarbbaKpdddllmzJiRe+65J+eee+48p03ddttt2Xnnnee8P+644/L9739/zvsxY8bkM5/5TO6777787//+b0477bQ5Ac4b3vCGTJs2LTNnzsz06dNz8cUX5yUvecmyv7jnsOf0GjzPNr/73e8yatSojB8/Prfeemv22WefvPe9781yyy2Xn/70p3n729+eRx55JIceeuhcx5199tl50YtelE9+8pN5/PHH8+53vzuvf/3rM23atDnr+Zx00kk59dRTc8wxx2TXXXfN1KlT87rXve5pNfzpT3/Kuuuum0984hOZOHFibr311px66qnZY489cuWVVyZJZs6cmd122y3bbrttvvKVr2TllVfObbfdlv/+7/9e9jcJAAAAnoUEPB325JNPZtasWXnwwQfzrW99K+eff35e+9rXZsUVV8xxxx03p91TTz2VHXfcMXfeeWc++9nPPi3gGTNmTC666KKMGTNmzrY3vOENueqqq7LddttlxowZ+fd///cccsgh+ehHP5ok2XXXXTNq1Ki8973vnauvl7/85Xn5y18+5/12222XjTfeODvssEOuueaabL311pk2bVpmzJiRf/3Xf50rwX3rW9+6NG8PAAAAPGeYotVhm266acaMGZPVVlsthx12WN70pjflzDPPTJLcdNNN2X///bPOOutkzJgxGTNmTL74xS/mN7/5zdP62WWXXeYKd1784hcnSX7/+98nSf7nf/4nDz30UPbdd9+5jttvv/2e1tfjjz+eU089NZtuumlWWGGFjBkzJjvssEOSzDn3JptsklVXXTXveMc7cvbZZ+cPf/jDUrgbAAAA8Nwl4OmwCy64IFdffXWmTZuWhx56KF/96lez2mqrZebMmdlll11y3XXX5cMf/nAuv/zyXH311Tn44IPz2GOPPa2f1VZbba73yy+/fJLk0UcfTZLceeedSZLnPe95c7Ub/D5J/vmf/zknnXRS3vzmN+d73/terrrqqpx//vlz9bfKKqvkxz/+cdZee+0cdthhWW+99bLFFlvk29/+9hLeEQAAAHhuMkWrw7bYYotsvPHGT9t+5ZVX5vbbb8/ll1+e7bfffs72WbNmLdZ51lprrSTJXXfdlc0333zO9rvuuutpbc8555wceOCBOf744+dsmzlz5tPabbXVVvn2t7+dWbNmZerUqfnQhz6UfffdN9ddd1222GKLxaoTAACgC157+s9GuoTnpAuP3H7hjTrMCJ5noYcffjhJ5pp2NWPGjHz3u99drP5e8pKXZKWVVsq3vvWtubafc8458zz3wPMmyZe//OX59j169Oi87GUvywc+8IE89dRTufHGGxerRgAAAHguM4LnWWi77bbLhAkTcvjhh+fkk0/OQw89lFNOOSWTJk3K/fffv8j9rbrqqnnXu96VD37wg1l55ZWz66675uqrr86XvvSlp7Xdfffdc9ZZZ+XFL35xNt5445x//vlPezrWRRddlDPOOCN77rlnNthggzz00EM57bTTsvLKK+dv/uZvFvu6AQAA4LnqOR3wPFuHZ02ePDkXXHBB/umf/in77LNP1l577Rx11FG59957c/LJJy9WnyeddFJaa/niF7+YT33qU3npS1+aCy+8cK4pW0ly+umnp7WW973vfUmSPfbYI9/4xjey7bbbzmmzySabZIUVVsgHPvCB3HnnnVl55ZWzzTbb5JJLLsm66667+BcOAAAAz1HVWhvpGpbIlClT2tSpU+e7/8Ybb8xmm202jBWxLPk8AQCArrMGz8h4tgzyqKpftNamDN5uDR4AAACAjhPwAAAAAHScgAcAAACg4wQ8AAAAAB0n4AEAAADoOAEPAAAAQMcJeAAAAAA6TsADAAAA0HECHgAAAICOE/AAAAAAdNzokS5gRH3+FSN7/nf8ZLEP/c53vpOPf/zjmTZtWh588MGsscYa2XrrrXPooYdm9913T5Jcdtll2WmnneYcM27cuKy++up5yUtekr322isHHnhgxo4d+7S+H3rooZx22mk599xzc9NNN+WJJ57IC17wguyyyy45+uijs/HGGy923QAAAMDS99wOeDrqtNNOy1FHHZWDDz447373u7PSSivllltuyfe+973813/915yAZ2D7bbbZJk888UT+9Kc/5ZJLLsnhhx+eT33qU7nkkksyefLkOW3vvPPO7LzzzvnTn/6UI444Ittvv33Gjh2bG264IWeeeWauuOKKXHPNNcN9yQAAAMACCHg66KMf/Wj23HPPfOlLX5qz7ZWvfGX+4R/+IU899dTT2m+22WZ52cteNuf93//93+dtb3tbdtpppxx88MG58MIL5+w74IADcuedd+aqq67KJptsMmf7TjvtlMMOOyzf/e53l9FVAQAAAIvLGjwddO+992bNNdec577llhvaR/o3f/M3eec735mLLroot9xyS5Lkqquuyo9+9KMcd9xxc4U7s1VV9txzz8UvHAAAAFgmBDwdtO222+ass87Kv/3bv+W3v/3tYvezxx57JEmuuOKKJMmll16aJHnd61635EUCAAAAw0bA00Gf+9znsvHGG+c973lPXvSiF2XSpEnZf//988Mf/nCR+llvvfWS9NbdSZI//OEPSZIXvOAFS7dgAAAAYJkS8HTQC1/4wlxzzTX5yU9+kve9733ZaqutcsEFF2S33XbLKaecMuR+WmtJelOvAAAAgO4S8HTUqFGj8vKXvzynnHJKLr300tx666158YtfnJNPPjkzZswYUh+zR+ystdZaSZLnP//5SZLbb7992RQNAAAALBPDHvBU1fpVdXFVzaiq/62qT1XV6P6+V1XVtKp6uKp+XFXmCg3R2muvnbe//e2ZNWtWbrrppiEd873vfS9J8rd/+7dJkp133jlJ5nqqFgAAAPDMNxIjeD6T5O4kayXZKskrkhxWVZOSnJ/khCSrJZma5JsjUN8z3uyRN4NNmzYtSeb7hK2Brrzyynz+85/PnnvumQ033DBJb/HmV73qVTn11FNz8803z/M4j0kHAACAZ57RI3DODZJ8qrX2aJL/raofJNk8yV5Jrm+tnZskVXVSknuqatPW2rQRqPMZa4sttshOO+2Uv/u7v8sGG2yQBx54IBdffHE+97nPZd99952zePJsN954Y8aPH59Zs2blzjvvzA9/+MN87Wtfy1/91V/lC1/4wlxtv/a1r2XnnXfONttskyOPPDLbb799xo4dm2nTpuXMM8/ME088kde//vXDebkAAADAQoxEwPPJJPtV1WVJJiZ5dXqjdnZMct3sRq21h6rqlvTCn7kCnqo6JMkhSZ4WZiySd/xk8Y8dQR/5yEdy8cUX58QTT8xdd92VUaNG5YUvfGE+/OEP5+ijj35a+3/8x39Mkiy//PJZffXVs+WWW+bTn/50DjjggIwdO3autmuttVZ+/vOf57TTTsu5556bj33sY5k1a1bWX3/97L777jnqqKOG5RoBAACAoavZT1IathNWbZbk7CRbJhmV5KwkByX5YpLprbX3Dmh7RZIvtNa+Mr/+pkyZ0qZOnTrf8914443ZbLPNlk7xjDifJwAA0HWvPf1nI13Cc9KFR24/0iUsFVX1i9balMHbh3UNnqpa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\n", "text/plain": [ "
" ] @@ -268,188 +276,71 @@ "source": [ "from plotting import Plotter\n", "\n", - "pl = Plotter()\n", + "pl = Plotter('read_csv')\n", "pl.plot_performance()" ] }, { - "cell_type": "code", - "execution_count": 5, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "@numba.jit\n", - "def read_from_csv():\n", - " filename = 'cycling_dataset_2.csv'\n", - " # Currrently we need to provide column names and their types\n", - " names = ['altitude', 'cadence', 'distance', 'hr', 'latitude', 'longitude', 'power', 'speed', 'time']\n", - " dtypes = {\n", - " 'altitude': np.float64,\n", - " 'cadence': np.float64,\n", - " 'distance': np.float64,\n", - " 'hr': np.float64,\n", - " 'latitude': np.float64,\n", - " 'longitude': np.float64,\n", - " 'power': np.float64,\n", - " 'speed': np.float64,\n", - " 'time': str\n", - " }\n", - " df = pd.read_csv(filename, names=names, dtype=dtypes, skiprows=1)\n", - " return df" + "**Try it with MPI: run on 4 processes** \n", + "`!mpirun -n 4 python ./runme.py`" ] }, { - "cell_type": "code", - "execution_count": 6, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
altitudecadencedistancehrlatitudelongitudepowerspeedtime
01.01.0185.80000368.07.17000082.030.313277-97.7327150
12.02.0186.39999438.011.04000082.030.313243-97.73271742
23.03.0186.80000338.015.18000083.030.313212-97.7327205
34.04.0186.60000638.019.43000083.030.313172-97.7327231
45.05.0186.6000060.023.86000184.030.313130-97.7327240
\n", - "
" - ], - "text/plain": [ - " altitude cadence distance hr latitude longitude power \\\n", - "0 1.0 1.0 185.800003 68.0 7.170000 82.0 30.313277 \n", - "1 2.0 2.0 186.399994 38.0 11.040000 82.0 30.313243 \n", - "2 3.0 3.0 186.800003 38.0 15.180000 83.0 30.313212 \n", - "3 4.0 4.0 186.600006 38.0 19.430000 83.0 30.313172 \n", - "4 5.0 5.0 186.600006 0.0 23.860001 84.0 30.313130 \n", - "\n", - " speed time \n", - "0 -97.732715 0 \n", - "1 -97.732717 42 \n", - "2 -97.732720 5 \n", - "3 -97.732723 1 \n", - "4 -97.732724 0 " - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "df = read_from_csv()\n", - "df.head()" + "## Performance of dataframe methods" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 9, "metadata": {}, + "outputs": [], "source": [ - "**Try it with MPI: run on 4 processes** \n", - "`%save -f runme.py ??\n", - "!mpirun -n 4 python ./runme.py`" + "@sdc.jit\n", + "def data_statistics(df):\n", + " df_column = df['distance']\n", + " data_sum = df_column.sum()\n", + " data_max = df_column.max()\n", + " data_mean = df_column.mean()\n", + " data_min = df_column.min()\n", + " data_prod = df_column.prod()\n", + "\n", + " return data_sum, data_max, data_mean, data_min, data_prod" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 11, "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "6186.3701171875\n", + "3094.0427492866515\n" + ] + } + ], "source": [ - "## Performance of dataset loading from csv: MPI parallelization" + "data_sum, data_max, data_mean, data_min, data_prod = data_statistics(df)\n", + "print(data_max)\n", + "print(data_mean)" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [ { "data": { - "image/png": "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tddeO+uvv37WWGONZbqGgAcAAABYrCeffDLTp0/P+PHjs+WWW2b06NGpqpEu6xmjtZa5c+fmkUceyfTp0zNx4sRlCnm8osVSOeecczJ58uSsscYaefe7371Q3z/90z9l2223zbhx47LXXnvl3nvvXex1xo0bt9Bn1KhROeaYY5Ikt956ayZPnpzx48dn/Pjxee1rX5tbb711wdxPfepT2XHHHbP22mtnq622yqc+9akV8qwAAAAks2bNyvjx4zNhwoSsvvrqwp1hVlVZffXVM2HChIwfPz6zZs1apusIeFgqm2yySY4//vi85z3vWaj96quvzrHHHpvvfe97mTVrVrbaaqsceOCBi73OnDlzFnzuv//+jB07NgcccMCCe1x00UWZNWtWHnzwwbzlLW/JO9/5zgVzW2uZOnVq/vjHP+aHP/xhzjnnnFx44YUr5oEBAACe5WbPnp111llnpMt4VlhnnXUye/bsZZrrFS2Wyn777ZckmTZtWmbMmLGg/dJLL80BBxyQHXbYIUlywgknZNNNN83dd9+dbbbZZtBrXnTRRdloo42y++67J0nWW2+9rLfeekl6wpxRo0blrrvuWjD+Yx/72ILfX/CCF+Stb31rrrvuuoVCIAAAAIbHvHnzMnr06JEu41lh9OjRy7zHkYCHYdFaS2ttoe9JcvPNNy8x4JkyZUoOPfTQRZb5rbfeepkzZ06efvrpnHrqqYu977XXXpv3ve99y/kEAAAALI7XslaO5fk7r9RXtKpqjar6alXdU1Wzq+rGqtq7T/9rqur2qnqsqn5aVVsMcq31q+o7VfVo7/XetXKegoG84Q1vyLe+9a385je/yeOPP55TTz01VZXHHnts0HnTp0/P1VdfncMOO2yRvj/96U95+OGHc84552SnnXYacP7JJ5+cp59+OocffviwPAcAAAB00creg2e1JP+d5JVJ1k1yQpJvVdWWVTUhySW9besnmZbkXwe51heS/G+S5yY5KMkXq2qHFVg7g3jNa16TU045Jfvvv3+22GKLbLnllll77bWz2WabDTpv6tSp2W233bLVVlsN2L/WWmvl/e9/fw499NA88MADC/Wdc845mTp1an7wgx8s8zFyAAAA8EywUl/Raq09muTkPk3/r6p+l2TnJBskuaW19u0kqaqTkzxYVdu31m7ve52qWivJ/kl2bK3NSfKzqvp+kkOSfGKFPwgDOuqoo3LUUUclSe64446cfvrp2XHHHQedM3Xq1HziE4P/kz399NN57LHH8oc//CEbbbRRkuT888/PmWeemWuuuWaJIRIAAAArxpvP/tmI3v/SY3Zb5rnf/e5384//+I+5/fbbM3v27Gy00UbZaaed8v73vz977bVXkuSqq67KnnvuuWDOmDFjssEGG+RFL3pR9ttvvxx66KFZffXVF7n2o48+mrPOOivf/va3c+edd2bu3LnZYost8pd/+Zf5yEc+km233XaZ616cET1Fq6qem2S7JLck2SHJr+f39YZBd/e297ddknmttTv6tP16MWMZRk899VSeeOKJzJs3L/PmzcsTTzyxoO3mm29Oay3Tp0/PkUcemQ9/+MMZP378Yq/185//PH/4wx8WnJ4135VXXpkbb7wx8+bNyyOPPJKPfvSjGT9+fCZNmpQk+eY3v5ljjz02V155ZbbeeusV+rwAAAA885x11lnZd9998/znPz9f/epX84Mf/CDHH398kuQnP/nJgON/8Ytf5IorrshnPvOZbLLJJjnqqKOy6667ZubMmQuNve+++7Lrrrvm//7f/5s3vvGNueiii3L55ZfnQx/6UH7xi18s8r+Bh8uIbbJcVaOTfDPJlNba7VU1LsnMfsMeTrL2ANPH9fYNZWyq6sgkRybJxIkTl6fsZ73TTz89p5xyyoLv3/jGN3LSSSflIx/5SN71rnfl7rvvztprr53DDz88p5122oJxZ5xxRq699tpcfvnlC9qmTJmS/fbbL2uvvfA/25/+9Kccc8wxmTFjRsaOHZtddtklP/zhDzNmzJgkyfHHH5+HHnoou+yyy4I5Bx98cL70pS+tqMcGAADgGeTTn/509tlnn3z1q19d0PbqV786733ve/P0008vMn7SpEl52ctetuD7O97xjhxxxBHZc8898573vCeXXnrpgr5DDjkk9913X375y1/m+c9//oL2PffcMx/84Afzve99b4U804gEPFX1nCRfT88eOkf3Ns9Jsk6/oeskGegA+KUZm9baeUnOS5LJkye3gcYwNCeffHJOPvnkAft+85vfLHbescceu0jbl7/85QHHHnDAAYMmmr/73e8GLxIAAAAGMWvWrDzvec8bsO85zxnay05/8Rd/kQ984AP53Oc+l7vvvjvbbLNNfvnLX+bHP/5xPvWpTy0U7sxXVdlnn32Wq/bFWemvaFXPmV9fTc/myPu31ub2dt2S5MV9xq2VZJve9v7uSLJaVfX9a714MWMBAAAAFth1110zZcqUfOpTn8odd9yx5AmL8YY3vCFJct111yVJfvSjHyVJ3vKWtyx/kUtpJPbg+WKSSUne3Fp7vE/7d5LsWFX7V9WYJCcm+U3/DZaTBfvzXJLk1Kpaq6pekeSt6VkVBAAAALBYX/rSl7LtttvmYx/7WF7wghdkwoQJOfDAA3PFFVcs1XXmbwNz3333JUn++7//O0myxRZbDG/BQ7BSA56q2iLJ+5K8JMn/VNWc3s9BrbWZ6TkZ6++T/DHJnyd5Z5+5x1bV5X0u98EkY5M8kORfknygtWYFDwAAADCo7bbbLjfeeGOuvvrqHHfccXnJS16S73znO3n961+f008/fcjXaa1nF5iel5VG1so+Jv2eJIt96tbaj5Jsv5i+M/p9n5Vkxby4BgAAADyjjRo1KnvssUf22GOPJMm9996bvfbaK6ecckqOOuqoQU+Fnm/+ip2NN944SbL55psnSe65555st912K6jygY3YKVosuzef/bORLoEBXHrMbiNdAgAAAMtok002yV/91V/lwx/+cO68887suuuuS5zzgx/8IEnyile8Ikny2te+Nscdd1wuvfTS/M3f/M0Krbe/kdiDBwAAAGDEzF9509/tt/dsA7y4E7b6+sUvfpEvf/nL2WeffbL11lsn6dm8+TWveU3OOOOM3HXXXQPOe0Ydkw4AAAAwUnbcccfsueee2XfffbPVVlvlkUceyWWXXZYvfelLefvb375g8+T5brvttowbNy5PPfVU7rvvvlxxxRX5+te/nhe+8IX5yle+stDYr3/963nta1+bXXbZJcccc0x22223rL766rn99ttz/vnnZ+7cuXnrW9867M8k4AEAAACWSVe3qviHf/iHXHbZZTnxxBNz//33Z9SoUdluu+1y5pln5iMf+cgi4z/0oQ8lSdZYY41ssMEGefGLX5wvfOELOeSQQ7L66qsvNHbjjTfO9ddfn7POOivf/va385nPfCZPPfVUttxyy+y111758Ic/vEKeqebv+PxsMXny5DZt2rSRLmO52INn1dTV/2ADAAAYzG233ZZJkyaNdBnPGkv6e1fVr1prk/u324MHAAAAoOMEPAAAAAAdJ+ABAAAA6DgBDwAAAEDHCXgA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YQAAAAAMzVADnvWT3J8kVbVjkuclmdLb990kLxj+0gAAAAAYiqEGPA8l2az391cnube1dmfv99FLcR0AAAAAhtlqQxz3oyQnV9WEJH+TnlU7822f5J7hLgwAAACAoRnqypuPJfnvJJ9McneSU/r0HZTkZ8NcFwAAAABDNKQVPK21+5P85WK6X5vkiWGrCAAAAIClMtRXtBartfbIcBQCAAAAwLKxOTIAAABAxwl4AOisc845J5MnT84aa6yRd7/73Qv1/fjHP87222+fNddcM3vuuWfuuWfJ5wHceeedGTNmTA4++OCF2h977LF88EV8I8UAACAASURBVIMfzIQJE7Luuutmjz32WKj/hhtuyB577JFx48bluc99bj7/+c8v97MBAMDSEPAA0FmbbLJJjj/++LznPe9ZqP3BBx/Mfvvtl9NOOy2zZs3K5MmT8453vGOJ1zvqqKOyyy67LNJ+5JFHZtasWbntttsya9asfPazn13oXnvttVfe97735aGHHspdd92V173udcv/cAAAsBSWew8eABgp++23X5Jk2rRpmTFjxoL2Sy65JDvssEMOOOCAJMnJJ5+cCRMm5Pbbb8/2228/4LUuvPDCrLfeenn5y1+eu+66a0H7b3/723z/+9/PjBkzss466yRJdt555wX9//iP/5jXv/71Oeigg5Ika6yxRiZNmjS8DwoAAEtgBQ8Azzi33HJLXvziFy/4vtZaa2WbbbbJLbfcMuD4Rx55JCeeeGI+85nPLNJ3/fXXZ4sttshJJ52UCRMm5M/+7M9y8cUXL+j/93//96y//vp5+ctfno022ihvfvObM3369OF/KAAAGMRyBzxVdWhVWYsOwCpjzpw5WXfddRdqW3fddTN79uwBx59wwgk54ogjsvnmmy/SN2PGjNx8881Zd911c++99+acc87JYYcdlttuu21B/5QpU/L5z38+06dPz1ZbbZUDDzxw+B8KAAAGMRyvaH0tSauqW5L8fWvtX4fhmgCwzMaNG5dHHnlkobZHHnkka6+99iJjb7rppvzoRz/KjTfeOOC1xo4dm9GjR+f444/Paqutlle+8pXZc889c8UVV2TSpEkZO3Zs9t133wV798xf6fPwww8vEjIBAMCKMhwBz55J1kqyW5Kjkwh4ABhRO+ywQ6ZMmbLg+6OPPpq77747O+ywwyJjr7rqqvz+97/PxIkTk/Ss/pk3b15uvfXW3HDDDXnRi1406L1e9KIXpaoWfJ//e2ttOB4FAACGZLlf0WqtXd1au6y1dmxrbffhKAoAhuKpp57KE088kXnz5mXevHl54okn8tRTT2XffffNzTffnIsvvjhPPPFETj311LzoRS8acIPlI488MnfffXduuumm3HTTTXn/+9+fN77xjfm3f/u3JMkee+yRiRMn5pOf/GSeeuqpXHfddbnqqqvy+te/Pkly+OGH5zvf+U5uuummzJ07N6eddlp22223rLfeeiv1bwEAwLObTZYB6KzTTz89Y8eOzZlnnplvfOMbGTt2bE4//fRsuOGGufjii3Pcccdl/Pjxuf7663PhhRcumHfGGWdk7733TpKsueaaed7znrfgM27cuIwZMyYbbrhhkmT06NH53ve+l8suuyzrrrtu3vve92bq1KkLwqJXv/rVOeOMM/LGN74xG220Ue6666788z//88r/YwAA8KxWQ11CXlU7JTkhyR5J1kuya2vthqo6I8k1rbUfrrgyh8/kyZPbtGnTRrqM5fLms3820iUwgEuP2W2kSwAAAOAZrqp+1Vqb3L99SCt4qmq3JL9Isn2Sf+437+kk7x+OIgEAAABYekN9RevMJP+WZIckH+3Xd0OSlw5nUQAAAAAM3VBP0Xppkv1aa62q+r/T9WCSDYe3LAAAAACGaqgreJ5IsuZi+jZO8vDwlAMAAADA0hpqwPOzJB+pqlF92uav5DkiyU+GtSoAAAAAhmyor2idkOS6JL9OclF6wp3Dquofk+ycZJcVUx4AqzKn+q26nOwHAPDsMqQVPK21X6fnePT7kxyXpJIc3dv9ytbab1dMeQAAAAAsyVBX8KS1dkOS11TVmCTrJ/lTa+2xFVYZAAAAAEMy5IBnvtbaE0nuXQG1AAAAALAMhhzwVNWkJG9LsnmSMf26W2vtsOEsDAAAAIChGVLAU1WHJjk/PZsrP5Dkf/sNaYtMAgAAAGClWJpTtL6X5IjW2p9WYD0AAAAALKUhnaKV5HlJzh2OcKeqjq6qaVX1ZFV9rV/fa6rq9qp6rKp+WlVbDHKd9avqO1X1aFXdU1XvWt7aAAAAALpoqAHPdUkmDdM9701yenpe+VqgqiYkuSQ9q4XWTzItyb8Ocp0vpOdVsecmOSjJF6tqh2GqEQAAAKAzhvqK1tFJLqmqh5JckeSP/Qe01p4eyoVaa5ckSVVNTrJZn679ktzSWvt2b//JSR6squ1ba7f3vUZVrZVk/yQ7ttbmJPlZVX0/ySFJPjHEZwIAAAB4RhjqCp4ZSW5M8o30bLI8t9+n/6bLy2KHJL+e/6W19miSu3vb+9suybzW2h192n69mLEAAAAAz2hDXcHzlSTvSPLdJLdneAKd/sYlmdmv7eEkay9m7MNDHJuqOjLJkUkyceLE5asSAAAAYBUz1IDnrUn+rrX2+RVYy5wk6/RrWyfJ7OUcm9baeUnOS5LJkyc70h0AAAB4RhnqK1qPJrl1RRaS5JYkL57/pXefnW162/u7I8lqVfX8Pm0vXsxYAAAAgGe0oQY8FyQZlmPIq2q1qhqTZFSSUVU1pqpWS/KdJDtW1f69/Scm+U3/DZaTBfvzXJLk1Kpaq6pekZ5VRl8fjhoBAAAAumSor2jdk+TAqroyyQ8z8Cla5y8ya2DHJzmpz/eDk5zSWju5qvZPck56NnO+Psk75w+qqmOT7N5a27u36YPpOWr9gSQPJflAa80KHgAAAOBZZ6gBzxd7f26R5DUD9Lf0hC1L1Fo7OcnJi+n7UZLtF9N3Rr/vs5LsM5R7AgAAADyTDTXg2WqFVgEAAADAMhtSwNNau2dFFwIAAADAshnqJssAAAAArKIWu4Knqv4ryb6ttV9X1e/Ss8/O4rTW2jbDXh0AAAAASzTYK1pXJ3mkz++DBTwAAAAAjJDFBjyttcP7/P7ulVINAAAAAEttsXvwVNV/VdWLV2YxAAAAACy9wTZZ3jLJGiupDgAAAACWkVO0AAAAADpuSQGPjZUBAAAAVnGDnaKVJKdU1YNDuE5rrR02HAUBAAAAsHSWFPC8JMmTQ7iOlT4AAAAAI2RJAc8+rbVfrpRKAAAAAFgmNlkGAAAA6DgBDwAAAEDHCXgAAAAAOm6xe/C01oQ/AAAAAB0gxAEAAADoOAEPAAAAQMcJeAAAAAA6TsADAAAA0HECHgAAAICOE/AAAAAAdJyABwAAAKDjBDwAAAAAHSfgAQAAAOg4AQ8AAABAxwl4AAAAADpOwAMAAADQcQIeAAAAgI4T8AAAAAB0nIAHAAAAoOMEPAAAAAAdJ+ABAAAA6DgBDwAAAEDHCXgAAAAAOk7AAwAAANBxAh4AAACAjhPwAAAAAHScgAcAAACg4wQ8AAAAAB0n4AEAAADoOAEPAAAAQMcJeAAAAAA6TsADAAAA0HECHgAAAICOE/AAAAAAdJyABwAAAKDjBDwAAAAAHSfgAQAAAOi4VSrgqao5/T7zqursxYx9d29/3/GvWsklAwAAAIy41Ua6gL5aa+Pm/15VayW5P8m3B5nyi9babiu8MAAAAIBV2Cq1gqeftyV5IMm1I10IAAAAdNmFF16YSZMmZa211so222yTa69d9H9qP/nkk/nrv/7rbLLJJhk/fnw++MEPZu7cuYuMu/POOzNmzJgcfPDBC9q++c1vZty4cQs+a665Zqoqv/rVr1boc/H/W5UDnsOSTG2ttUHG7FRVD1bVHVV1QlUNuCKpqo6sqmlVNW3mzJkrploAAABYBV155ZX5+Mc/ngsuuCCzZ8/ONddck6233nqRcWeeeWamTZuWm2++OXfccUduuOGGnH766YuMO+qoo7LLLrss1HbQQQdlzpw5Cz7nnntutt5667z0pS9dYc/FwlbJgKeqJiZ5ZZIpgwy7JsmOSTZKsn+SA5P83UADW2vntdYmt9Ymb7jhhsNdLgAAAKyyTjrppJx44ol52cteluc85znZdNNNs+mmmy4y7tJLL82HPvShrL/++tlwww3zoQ99KOeff/5CYy688MKst956ec1rXjPoPadMmZJDDz00VTWsz8LirZIBT5JDk/ystfa7xQ1orf1Xa+13rbWnW2v/meTU9LzWBQAAACSZN29epk2blpkzZ2bbbbfNZpttlqOPPjqPP/74ImNba+n7Ek1rLTNmzMjDDz+cJHnkkUdy4okn5jOf+cyg97znnntyzTXX5NBDDx3eh2FQq3LAM9jqnYG0JKJBAAAA6HX//fdn7ty5ueiii3Lttdfmpptuyo033jjgq1d77713Pv/5z2fmzJn5n//5n5x11llJksceeyxJcsIJJ+SII47I5ptvPug9p06dmt133z1bbbXV8D8Qi7XKBTxV9fIkm2bw07NSVXtX1XN7f98+yQlJvrfiKwQAAIBuGDt2bJLkmGOOycYbb5wJEybkox/9aC677LJFxh533HHZaaed8pKXvCQvf/nLs88++2T06NHZaKONctNNN+VHP/pR/vqv/3qJ95w6dWoOO+ywYX8WBrdKHZPe67Akl7TWZvdt7N2X59YkL2ytTU/ymiRfq6px6TlO/RtJzljZxQIAAMCqavz48dlss82GtBfO2LFjc8455+Scc85Jkpx33nnZeeedM2rUqFx11VX5/e9/n4kTJyZJ5syZk3nz5uXWW2/NDTfcsOAa1113Xe6999687W12UFnZVrmAp7X2vsW0T08yrs/3v03ytyurLgAAAOiiww8/PGeffXb22muvjB49Op/73Ofypje9aZFxf/jDH1JV2XjjjXP99dfntNNOy1e/+tUkyZFHHpl3vvOdC8Z++tOfzu9///t88YtfXOgaU6ZMyf7775+11157xT4Ui1jlAh4AAABg+Jxwwgl58MEHs91222XMmDF5+9vfnuOOOy7Tp0/PC1/4wtx6662ZOHFi7r777hx66KF54IEHsvnmm+fMM8/M6173uiTJmmuumTXXXHPBNceNG5cxY8ak70nVTzzxRL71rW/l4osvXunPSFJ9d8h+Npg8eXKbNm3aSJexXN589s9GugQGcOkxu410CbDS+c+jVZf/TAIAeGaqql+11ib3b1/lNlkGAAAAYOkIeAAAAAA6TsADAAAA0HECHgAAAICOE/AAAAAAdJxj0gEAAGAYOWl01fVMPmnUCh4AAACAjhPwAADACnLhhRdm0qRJWWuttbLNNtvk2muvXWTMlClTsvPOO2edddbJZpttlo997GN56qmnFvSPGzduoc+oUaNyzDHHJEm++c1vLtS35pprpqryq1/9aqU9IwCrBgEPAACsAFdeeWU+/vGP54ILLsjs2bNzzTXXZOutt15k3GOPPZbPfe5zefDBB3P99dfnxz/+cT796U8v6J8zZ86Cz/3335+xY8fmgAMOSJIcdNBBC/Wfe+652XrrrfPSl750pT0nAKsGe/AAAMAKcNJJJ+XEE0/My172siTJpptuOuC4D3zgAwt+33TTTXPQQQflpz/96YBjL7roomy00UbZfffdB+yfMmVKDj300FTVclYPQNdYwQMAAMNs3rx5mTZtWmbOnJltt902m222WY4++ug8/vjjS5x7zTXXZIcddhiwb7AA55577sk111yTQw89dLnrB6B7BDwAADDM7r///sydOzcXXXRRrr322tx000258cYbc/rppw8674ILLsi0adPyt3/7t4v0TZ8+PVdffXUOO+ywAedOnTo1u+++e7baaqtheQYAukXAAwAAw2zs2LFJkmOOOSYbb7xxJkyYkI9+9KO57LLLFjvnu9/9bj7xiU/k8ssvz4QJExbpnzp1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\n", + "image/png": "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yWqrrZZPf/rTSZKJEyfm7rvvXqjf3XffnUmTJi3VOCx/NpsZphd/6vJRvf75b999mc89/fTT88Y3vnHB64kTJ2bLLbfMm9/85hx++OErdM+hqsr73//+hdZlAgAAMLpaaznssMNy++2356KLLsqECROSJNtvv33OOOOMBf3mzp2bm266abHLrhY3DsufGTyrkLPPPjtXXnllzjnnnOy66655+9vfng984AOjXRYAAACj7Igjjsh1112X888/P2uuueaC9pe+9KX51a9+lXPOOSf3339/PvCBD2THHXdc7LKrxY3D8ifgWYU8/elPzzOe8Yzss88++cIXvpA99tgjn/jEJ0a7LAAAAEbRzJkz8/nPfz6/+MUvstFGG2XixImZOHFivva1r2XKlCk555xzctxxx2X99dfPT3/605x11lkLzj355JPzwhe+8FHHYfkT8KzCdtlll9xzzz3505/+lLPOOivPe97zMmXKlEycODE777zzQtPw5quqHH/88TnllFOyxRZbZNKkSXnuc5+7yA7qDz/8cI4//vhsvPHGWWuttbLHHnsMucv6jTfemEMOOSRbbLFF1lxzzWy55ZY54ogjcueddy7U7+qrr87ee++dDTfcMGuttVa23HLLHHnkkSP7gQAAAKyCNttss7TWcv/992fOnDkLHgcffHCSZK+99sqMGTNy33335Uc/+tFCtzw/9thjc/HFFw9rHJYve/Cswn77299m3LhxmThxYm6++ea8/OUvz3ve85487nGPy3//93/nTW96U+67774cfvjhC5135plnZptttsknP/nJPPjgg3nnO9+Z/fffPzNmzFiwn8+0adNy8skn5x3veEf22WefTJ8+PS95yUsWqeHWW2/NJptskk984hNZf/31c/PNN+fkk0/OfvvtlyuvvDJJMmfOnLzgBS/IrrvumtNPPz2TJk3K7373u/zkJz9Z/h8SAAAAdICAZxXy8MMPZ968ebnnnnvyzW9+M+eee25e/OIXZ6211sqxxx67oN8jjzySPfbYI7fddls++9nPLhLwTJgwIRdccMFCm2W94hWvyFVXXZXddtstd955Zz7+8Y/nLW95Sz7ykY8kSfbZZ5+MGzcu73nPexYa6znPeU6e85znLHi92267Zauttsqzn/3s/PznP8/OO++cGTNm5M4778y//uu/Zscdd1zQ9w1veMNIfjwAAADQWZZorUK23XbbTJgwIRtssEGOPPLIHHzwwTnttNOSJDfccENe/epX50lPelImTJiQCRMm5Itf/GJ+85vfLDLO3nvvvVC487SnPS1JcssttyRJ/vd//zdz587NQQcdtNB5r3rVqxYZ68EHH8zJJ5+cbbfdNmuuuWYmTJiQZz/72Umy4Npbb7111ltvvbz1rW/NmWeemd///vcj8GkAAADAykPAswo577zzcvXVV2fGjBmZO3duvvKVr2SDDTbInDlzsvfee+eaa67Jhz70ofz4xz/O1VdfnUMPPTQPPPDAIuNssMEGC71effXVkyT3339/kuS2225LkjzhCU9YqN/g10ny3ve+N9OmTctrX/vaXHjhhbnqqqty7rnnLjTeuuuumx/+8Id54hOfmCOPPDKbbrppdthhh5xzzjmP8RMBAACAlYMlWquQHXbYIVtttdUi7VdeeWVmzpyZH//4x9l9990XtM+bN2+ZrrPxxhsnSW6//fZsv/32C9pvv/32RfqeddZZed3rXpfjjz9+QducOXMW6ff0pz8955xzTubNm5fp06fngx/8YA466KBcc8012WGHHZapTgAAgNH04k9dPtolrHLOf/vuj96po1boDJ6qWr2qvlRVM6vqnqr6eVW9cMDx51fVjKq6t6p+WFWbLWGsDarqvKqa2x/vNSvmXax87r333iRZaNnVnXfeme985zvLNN6OO+6YtddeO9/85jcXah94K72B1x543ST58pe/vNixx48fn2c84xk58cQT88gjj+S6665bphoBAABgZbKiZ/CMT/L7JM9NckuS/ZJ8s6qelmROknOTvCnJ+UlOTPKNJM9YzFifSfJgkickeXqSC6vqmtbaovfiZol22223rLPOOnnb296WE044IXPnzs1JJ52UyZMn56677lrq8dZbb7384z/+Y/7lX/4lkyZNyj777JOrr746X/rSlxbpu+++++aMM87I0572tGy11VY599xzF7k71gUXXJBTTz01BxxwQLbYYovMnTs3p5xySiZNmpRnPvOZy/y+AQAAYGWxQgOe1trcJNMGNF1QVb9N8ndJNkxybWvt7CSpqmlJ7qiqbVtrMwaOU1VrJ3lZkh1aa3OSXF5V301ySJKFb9M0QlbmaVxTpkzJeeedl3/6p3/Ky1/+8jzxiU/M0UcfndmzZ+eEE05YpjGnTZuW1lq++MUv5tOf/nT+/u//Pueff/5CS7aS5FOf+lRaaznuuOOSJPvtt1++/vWvZ9ddd13QZ+utt86aa66ZE088MbfddlsmTZqUXXbZJZdcckk22WSTZX/jAAAAsJKo1troXbzqCUlmpjcD54gkq7XWjhhw/FdJ3t9aO2fQeTsn+Ulrbc0Bbf8nyXNbay9e0jWnTp3apk+fvtjj1113XbbbbrtleTuMQb5PAABgrLIHz4q3MkzeqKqftdamDm4ftbtoVdWEJF9LckZ/hs7EJIPXA92VZNIQpy9N31TVW6pqelVNnzVr1mMrHAAAAGCMGZWAp6oel+Sr6e2hc1S/eU6SdQZ1XSfJPUMMsTR901o7tbU2tbU2dcqUKctcNwAAAMBYtMIDnqqqJF9Kb3Pkl7XWHuofujbJTgP6rZ3kKf32wa5PMr6qth7QttNi+gIAAACs1EZjBs9nk2yX5MWttfsGtJ+XZIeqellVrZHkn5P8cvAGy8mCzZrPTfKBqlq7qp6VZP/0ZgUBAAAArFJWaMBTVZsleWt6myr/v6qa038c3Fqbld6dsf4lyZ1J/j7Jqwace2xVXTxguCOTrJnkT0m+nuQIt0gHAAAAVkUr+jbpM5PUEo5fmmTbxRw7edDr2UkOGNECAQAAADpo1O6iBQAAAMDIEPAAAAAAdJyABwAAAKDjBDwAAAAAHbdCN1nutM8/d3Sv/9bLlvnUb3/72/nYxz6WGTNm5J577snjH//47Lzzzjn88MOz7777Jkl+9KMfZc8991xwzhprrJENN9wwO+64Yw488MC87nWvy2qrrbbI2HPnzs0pp5ySs88+OzfccEMeeuihbLbZZtl7771zzDHHZKuttlrmugEAAIDhEfCs5E455ZQcffTROfTQQ/POd74za6+9dm666aZceOGF+cEPfrAg4BnYf5dddslDDz2UW2+9NZdcckne9ra35dOf/nQuueSSTJkyZUHf2267LXvttVduvfXWHHXUUdl9992z2mqr5de//nVOO+20XHHFFfn5z3++ot8yAAAArHIEPCu5j3zkIznggAPypS99aUHb8573vLz5zW/OI488skj/7bbbLs94xjMWvH7lK1+Zww47LHvuuWcOPfTQnH/++QuOHXLIIbntttty1VVXZeutt17Qvueee+bII4/Md77zneX0rgAAAICB7MGzkps9e3Y22mijIY897nHD+/qf+cxn5ogjjsgFF1yQm266KUly1VVX5fvf/36OPfbYhcKd+aoqBxxwwLIXDgAAAAybgGclt+uuu+aMM87Iv/3bv+X6669f5nH222+/JMkVV1yRJLn00kuTJC95yUsee5EAAADAYyLgWcl97nOfy1ZbbZV3vetd2WabbTJ58uS8+tWvzve+972lGmfTTTdN0tt3J0l+//vfJ0k222yzkS0YAAAAWGoCnpXcU5/61Pz85z/PZZddluOOOy5Pf/rTc9555+UFL3hBTjrppGGP01pL0lt6BQAAAIwtAp5VwLhx4/Kc5zwnJ510Ui699NLcfPPNedrTnpYTTjghd95557DGmD9jZ+ONN06SPPnJT06SzJw5c/kUDQAAAAybgGcV9MQnPjFvetObMm/evNxwww3DOufCCy9MkjzrWc9Kkuy1115JstBdtQAAAIDRIeBZyc2feTPYjBkzkmSxd9ga6Morr8znP//5HHDAAdlyyy2T9DZvfv7zn5+TTz45N95445DnuU06AAAArBjjR7sAlq8ddtghe+65Z1760pdmiy22yN13352LLroon/vc53LQQQct2Dx5vuuuuy4TJ07MvHnzctttt+V73/tevvrVr+Zv/uZv8oUvfGGhvl/96lez1157ZZdddsnb3/727L777llttdUyY8aMnHbaaXnooYey//77r8i3CwAAAKskAc9wvfWy0a5gmXz4wx/ORRddlH/+53/O7bffnnHjxuWpT31qPvShD+WYY45ZpP8//MM/JElWX331bLjhhtlpp53ymc98JoccckhWW221hfpuvPHG+elPf5pTTjklZ599dj760Y9m3rx52XzzzbPvvvvm6KOPXiHvEQAAAFZ1Nf/uSKuKqVOntunTpy/2+HXXXZfttttuBVbE8uT7BAAAxqoXf+ry0S5hlXP+23cf7RIes6r6WWtt6uB2e/AAAAAAdJyABwAAAKDjBDwAAAAAHSfgAQAAAOg4Ac8QVrWNp1dWvkcAAABWFQKeQSZMmJD77rtvtMtgBNx3331ZffXVR7sMAAAAWO4EPIM8/vGPzx//+Mfce++9ZoB0UGstDz30UGbPnp0//OEP2XDDDUe7JAAAAFjuxo92AWPNOuuskyS59dZb89BDD41yNSyL8ePHZ4011simm26aNdZYY7TLAQAAgOVOwDOEddZZZ0HQAwAA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AFYmS1qidVmSuwc8H6m9a45P8v4Br1+b5ITW2rR+uPPpJGcm+WmSV83vVFXHJnl2a+2F/aYj09vY+U9J/pzkiNaaGTwAAADAKmexAU9r7Y0Dnr9hpC7YWpuWZNpijl2aZNvFHDt50OvZSQ4YqboAAAAAumqxe/BU1c1VtdPijgMAAAAwNixpk+XNk6y+guoAAAAAYBmNpbtoAQAAALAMHi3gGamNlQEAAABYTpZ0F60kOaGq7hjGOK219vqRKAgAAACApfNoAc/TkzwwjHHM9AEAAAAYJY8W8BzQWrtqhVQCAAAAwDKxyTIAAABAxwl4AAAAADpOwAMAAADQcYvdg6e1JvwBAAAA6AAhDgAAAEDHCXgAAAAAOk7AAwAAANBxAh4AAACAjhPwAAAAAHScgAcAAACg4wQ8AAAAAB0n4AEAAADoOAEPAACsgn73u99lv/32y/rrr5+NNtooRx11VObNm7dIv7POOivbbLNN1l133Tz+8Y/P61//+tx9992jUDEASyLgAQCAVdCRRx6Zxz/+8bntttvyi1/8Ipdddln+/d//fZF+z3rWs3LFFVfkrrvuys0335x58+bl+OOPH4WKAVgSAQ8AAKyCfvvb3+aggw7KGmuskY022ij77rtvrr322kX6PfnJT87kyZMXvB43blxuvPHGFVkqAMMg4AEAgFXQ0UcfnbPOOiv33ntv/vjHP+biiy/OvvvuO2Tfyy+/POuuu24mTZqUc845J8ccc8wKrhaARyPgAQCAVdBzn/vcXHvttVlnnXWyySabZOrUqTnggAOG7Lv77rvnrrvuyh/+8Ie8853vzOabb75iiwXgUQl4AABgFfPII4/kBS94QQ488MDMnTs3d9xxR+688868+93vXuJ5T3rSk7LvvvvmVa961QqqFIDhEvAAAMAqZvbs2fn973+fo446Kquvvno23HDDvPGNb8xFF130qOfOmzcvN9100wqoEoClIeABAIBVzOTJk7PFFlvks5/9bObNm5e//OUvOeOMM7LTTjst0vdrX/tabrnllrTWMnPmzBx33HF5/vOfPwpVA7AkAh4AAFgFnXvuufnP//zPTJkyJVtttVXGjx+fj3/847nlllsyceLE3HLLLUmSX//619ltt90yceLEPOtZz8o222yTL3zhC6NcPQCDVWtttGtYoaZOndqmT58+2mUAAACwinvx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\n", "text/plain": [ "
" ] @@ -463,7 +354,7 @@ "source": [ "from plotting import Plotter\n", "\n", - "pl = Plotter('read_csv')\n", + "pl = Plotter('statistics')\n", "pl.plot_performance()" ] }, @@ -471,83 +362,77 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Performance of dataframe.describe()" + "## SDC scalability" ] }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ - "@numba.jit\n", - "def data_describe(df):\n", - " # Drop not numerical values from dataframe\n", - " df = df[['altitude', 'cadence', 'cadence', 'distance', 'hr', 'latitude', 'longitude', 'power', 'speed']]\n", - " result = df.describe()\n", - " return result" + "def data_sum_series(s1, s2):\n", + " start = time.time()\n", + " result = (s1+s2).sum()\n", + " end = time.time() - start\n", + " return result, end" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 16, "metadata": {}, "outputs": [ { - "data": { - "image/png": "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JhUxNat/8DkCAACseBMnTswHP/jBpfoNdv/992fAgAHZYostFm7bbrvtctNNNy3Sbq211sqsWbMyf/78/Ou//usy18yr6zcBDwAAAPDapkyZkptuuukVp1+9llmzZmXYsGGLbBs2bNhiy20888wzmT17diZOnJiNN954qeulZwQ8AAAA8Drywx/+MGPHjs3o0aOX6viOjo7MnDlzkW0zZ87M0KFDF2u7xhpr5KijjsqIESNy3333Zb311luqc/La+nXA8+6zftOn57/m2LFLfeyFF16Yww8/fOH7jo6ObLrppvnHf/zHHHXUUb265lApJZ///Odz8skn99o5AQAAWDF++MMf5tOf/vRSH7/FFltk3rx5eeCBB7L55psnSe6+++5ss8023bafP39+nn/++fzpT38S8KxA/eIpWv3Z5ZdfnltvvTVXXnlldtpppxx77LHmLgIAALBUfvvb3+ZPf/rTKz49a4Faa+bMmZOXXnopSevp1S+++GKS1qicAw44IJ/73Ocye/bs3HLLLfnZz36W8ePHJ0luuOGG3HnnnXn55Zczc+bMfOITn8jaa6+drbfeesVe3OucgGclt/322+ctb3lL9tprr3z3u9/NrrvumjPOOKOvywIAAKCBJk6cmAMOOGCx6VRTpkxJR0dHpkyZkiR59NFHM2TIkIWjcoYMGZItt9xyYftzzjknL7zwQtZbb70cdNBBOffccxe2feaZZ3LQQQdl2LBh+au/+qs8+OCD+T//5/9ktdVW66WrfH0S8DTMjjvumOeeey5PPvlkLrvssuy+++4ZMWJEOjo6ssMOO2TixImLHVNKyUknnZQzzzwzo0ePztChQ/OOd7wj99xzzyLtXn755Zx00kkZOXJkVl999ey6666LtUmSBx98MOPHj8/o0aMzZMiQbLrppjn66KPz9NNPL9Lu9ttvz5577pl11103q6++ejbddNNMmDBh+d4QAAAAeuy8887LRRddtNj2jTbaKLNmzcpGG22UJNlkk01Sa13k9cgjjyxsv8466+SnP/1pZs+enSlTpuQDH/jAwn3ve9/7Mnny5MyaNSvTp0/Pddddl2233XaFX9vrXb9eg6c/+uMf/5gBAwako6MjDz/8cN773vfm05/+dFZZZZX853/+Zz70oQ/lhRdeyFFHHbXIcRdffHG23HLLfOtb38pLL72UT37yk9lvv/0yefLkhev5nHzyyTn99NPziU98InvttVcmTZqU97znPYvV8MQTT2TUqFE544wzsvbaa+fhhx/O6aefnn322Se33nprktaq6u9617uy00475cILL8zQoUPzyCOP5Le//e2Kv0kAAADwOiPgWcm9/PLLmTdvXp577rn85Cc/yVVXXZV3v/vdWX311XPCCScsbDd//vzsuuuumTp1as4999zFAp5Bgwbl2muvzaBBgxZue9/73pfbbrstO++8c55++ul885vfzIc//OF87WtfS5LstddeGTBgwGKLb7397W/P29/+9oXvd95552y22WbZZZddcuedd2aHHXbI5MmT8/TTT+crX/nKIkntYYcdtjxvDwAAABBTtFZ6W221VQYNGpR11lknEyZMyMEHH5wLLrggSfLAAw/koIMOygYbbJBBgwZl0KBB+d73vpc//OEPi/Wz5557LhLuvPnNb06ShfMr/+d//iezZ8/OuHHjFjnuwAMPXKyvl156Kaeffnq22mqrDBkyJIMGDcouu+ySJAvPvfnmm2ettdbKRz7ykVx88cV57LHHlsPdAAAAALoj4FnJXX311bn99tszefLkzJ49Oz/84Q+zzjrrZNasWdlzzz1z991350tf+lJuvvnm3H777TniiCMWrmze2TrrrLPI+1VXXTVJayX0JJk6dWqS5A1veMMi7bq+T5LPfOYzOfnkk3PIIYfk5z//eW677bZcddVVi/Q3bNiw/PrXv84b3/jGTJgwIRtttFHe9KY35corr1zGOwIAAAB0ZYrWSu5Nb3pTNttss8W233rrrXn00Udz8803Z+zYsQu3z5s3b6nOM3LkyCTJtGnTFq58vuB9V5dddlk++MEP5qSTTlq4bdasWYu123777XPllVdm3rx5mTRpUr74xS9m3Lhxufvuu/OmN71pqeoEAABosnef9Zu+LuF165pjx752owYzgqehnn/++SRZZNrV008/nZ/97GdL1d+2226bNdZYIz/5yU8W2X7ZZZd1e+7O502SH/zgB6/Y98CBA/OWt7wlp556aubPn5/77rtvqWoEAAAAumcET0PtvPPOWXPNNfPRj340p5xySmbPnp3TTjstw4cPz7PPPrvE/a211lr5p3/6p3zhC1/I0KFDs9dee+X222/P97///cXa7r333pk4cWLe/OY3Z7PNNstVV1212NOxrr322px//vnZf//9M3r06MyePTtnnnlmhg4dmre+9a1Lfd0AAADA4vp1wNOfh1+NGDEiV199df75n/85733ve/PGN74xH//4xzNjxoyccsopS9XnySefnFprvve97+Xss8/O3/7t3+aaa65ZZMpWkpx11lmptebEE09Mkuyzzz659NJLs9NOOy1ss/nmm2fIkCE59dRTM3Xq1AwdOjQ77rhjbrjhhowaNWrpLxwAAABYTKm19t7JSum6UMuQJOfUWo99tePGjBlTJ02a9Ir777vvvmy99dbLoUJWBj5PAACgv7IGT9/pL4NASil31FrHdN3eqyN4aq0dnQpaI8m0JJf3Zg0AAAAA/U1fLrL83iRPJrm5D2sAAAAAaLy+DHgOTfLD+gpzxEopHy6lTCqlTJo+fXovlwYAAADQHH0S8JRSNkryjiQTX6lNrfX8WuuYWuuYESNG9F5xAAAAAA3TVyN4PpjkN7XWP/bR+QEAAAD6jb4MeF5x9A4AAAAAPdfrAU8pZeckG8TTswAAAACWi74YwXNokqtqrc/1wbkBAAAA+p2BvX3CWutHevucAAAAAP1ZXz4mHQAAAIDloNdH8PSq897Rt+f/yE1LfehPf/rTfOMb38jkyZPz3HPPZb311ssOO+yQo446KnvvvXeS5D/+4z+y2267LTxmtdVWy7rrrpttt902BxxwQD74wQ9m8ODBi/U9e/bsnHnmmbn88svzwAMPZO7cudl4442z55575rjjjstmm2221HUDAAAAva9/BzwNdeaZZ+bjH/94jjjiiHzyk5/MGmuskYceeig///nP86tf/WphwNO5/Y477pi5c+fmiSeeyA033JCPfvSjOfvss3PDDTdkxIgRC9tOnTo1e+yxR5544okcc8wxGTt2bAYPHpx77703F1xwQW655ZbceeedvX3JAAAAwDIQ8KyEvva1r2X//ffP97///YXbdt999/zjP/5j5s+fv1j7rbfeOm95y1sWvn//+9+fI488MrvttluOOOKIXHPNNQv3jR8/PlOnTs1tt92WzTfffOH23XbbLRMmTMjPfvazFXRVAAAAwIpiDZ6V0IwZM7L++ut3u2+VVXr2kb31rW/N0UcfnWuvvTYPPfRQkuS2227LL3/5y5xwwgmLhDsLlFKy//77L33hAAAAQJ8Q8KyEdtppp0ycODFf/epXc//99y91P/vss0+S5JZbbkmS3HjjjUmS97znPcteJAAAALDSEPCshL7zne9ks802y6c+9alsueWWGT58eA466KBcf/31S9TPRhttlKS17k6SPPbYY0mSjTfeePkWDAAAAPQpAc9KaIsttsidd96Zm266KSeeeGK23377XH311XnXu96V0047rcf91FqTtKZeAQAAAP2XgGclNWDAgLz97W/PaaedlhtvvDEPP/xw3vzmN+eUU07J008/3aM+FozYGTlyZJJkww03TJI8+uijK6ZoAAAAoE8IeBrijW98Yz70oQ9l3rx5eeCBB3p0zM9//vMkydve9rYkyR577JEkizxVCwAAAGg+Ac9KaMHIm64mT56cJK/4hK3Obr311px33nnZf//9s+mmmyZpLd78zne+M6effnoefPDBbo/zmHQAAABonoF9XQCLe9Ob3pTddtst//AP/5DRo0dn5syZue666/Kd73wn48aNW7h48gL33XdfOjo6Mm/evEydOjXXX399Lrroovz1X/91vvvd7y7S9qKLLsoee+yRHXfcMccee2zGjh2bwYMHZ/Lkybngggsyd+7c7Lfffr15uQAAAMAy6t8Bz0du6usKlsqXv/zlXHfddfnc5z6XadOmZcCAAdliiy3ypS99Kccdd9xi7T/2sY8lSVZdddWsu+662W677fLtb38748ePz+DBgxdpO3LkyPzud7/LmWeemcsvvzxf//rXM2/evGyyySbZe++98/GPf7xXrhEAAABYfsqCJy2tzMaMGVMnTZr0ivvvu+++bL311r1YESuSzxMAAF4fLrvsspxyyimZMmVK1l9//Vx44YXZZZddXrH97rvvnl//+teZO3duBg5sjVd45JFHMmHChNx6661ZddVV8973vjdnnHFGBg4cmEceeSSjR4/OGmussbCP448/Pp/97GdX+LW9knef9Zs+O/fr3TXHju3rEpaLUsodtdYxXbf37xE8AAAArJRuuOGGHH/88fnxj3+cnXbaKVOnTn3V9pdccknmzZu32PYJEyZkvfXWy9SpU/PMM89kzz33zDnnnLNwpkOSPPPMMwsDIeivLLIMAABAr/v85z+fz33uc3nLW96SVVZZJRtssEE22GCDbts+++yzOeWUU/KVr3xlsX1//OMfM27cuKy22mpZf/31s/fee+eee+5Z0eXDSkfAAwAAQK96+eWXM2nSpEyfPj2bbbZZRo0alWOOOSYvvPBCt+1POOGEHH300d0+UfjjH/94Lrvssjz//PP505/+lF/84hfZe++9F2mz8cYbZ9SoUTn88MPz1FNPrZBrgr4m4AEAAKBXTZs2LXPnzs0VV1yRm2++OXfddVfuvPPOnHbaaYu1nTRpUm655ZYce+yx3fb1jne8I/fcc0/WXHPNjBo1KmPGjMn++++fJBk+fHhuv/32PProo7njjjvy3HPP5eCDD16h1wZ9pd8EPE1YLJrX5nMEAID+b8iQIUmSY489NiNHjszw4cPziU98Itddd90i7ebPn58JEybkW/JhiXUAACAASURBVN/6Vrdr6MyfPz/vete7csABB2T27Nl56qmn8vTTT+f4449PknR0dGTMmDEZOHBg3vCGN+Tss8/O9ddfn5kzZ674i4Re1i8CnkGDBr3iUD6a5YUXXsiqq67a12UAAAAr0Nprr51Ro0allPKq7WbOnJlJkybl/e9/f9Zff/3suOOOSZJRo0bl5ptvzowZM/LYY4/lmGOOyaqrrpp11103hx9++GJB0QILzuf/WKY/6hcBz3rrrZc//elPef755/2H2kC11sydOzczZszI448/nnXXXbevSwIAAFawww8/PGeddVaefPLJPP300znjjDOy7777LtJm2LBheeKJJ3LXXXflrrvuWhjc3HHHHfnbv/3bDB8+PKNHj865556befPm5ZlnnsnEiROz3XbbJUl+97vf5Q9/+EPmz5+fP//5z/nYxz6WXXfdNcOGDev164UVrV88J27NNddMkjzxxBOZO3duH1fD0hg4cGBWW221bLTRRllttdX6uhwAAGAF++xnP5unnnoqW2yxRVZbbbWMGzcuJ554YqZMmZK//uu/zr333puNNtpokYWV58yZkyR5wxvesHDK1lVXXZXjjjsuX/7ylzNgwIDstttu+eY3v5kkefjhh3PCCSfkySefzJprrpk999wzl156ae9fLPSC0oQRL2PGjKmTJk3q6zIAAABgmbz7rN/0dQmvW9ccO7avS1guSil31FrHdN3eL6ZoAQAAALyeCXgAAAAAGk7AAwAAANBwAh4AAACAhusXT9ECAABgCZ33jr6u4HXqC31dAP2UETwAAAAADSfgAQAAAGg4AQ8AAABAwwl4AAAAABpOwAMAAADQcAIeAAAAgIYT8AAAAAA0nIAHAAAAoOEEPAAAAAANJ+ABAAAAaDgBDwAAAEDDCXgAAAAAGk7AAwAAANBwAh4AAACAhhPwAAAAADScgAcAAACg4QQ8AAAAAA0n4AEAAABoOAEPAAAAQMMJeAAAAAAaTsADAAAA0HACHgAAAICGE/AAAAAANJyABwAAAKDhBDwAAAAADSfgAQAAAGg4AQ8AAABAwwl4AAAAABquTwKeUsqBpZT7SimzSykPlVJ26Ys6AAAAAPqDgb19wlLKnkm+nOT9SW5LMrK3awAAAADoT3o94ElySpJ/rbX+3/b7P/VBDQAAAAD9Rq9O0SqlDEgyJsmIUsqDpZTHSylnl1KGdNP2w6WUSaWUSdOnT+/NMgEAAAAapbfX4HlDkkFJ3ptklyTbJ9khyUldG9Zaz6+1jqm1jhkxYkTvVgkAAADQIL0d8LzQ/vesWuvUWutTSb6RZJ9ergMAAACg3+jVgKfW+nSSx5PU3jwvAAAAQH/WF49J/0GSY0sp65VS1k5yXJJr+6AOAAAAgH6hL56idWqS4UnuTzInyU+SfKEP6gAAAADoF3o94Km1zk0yof0CAAAAYBn1xRQtAAAAAJYjAQ8AAABAwwl4AAAAABpOwAMAAADQcAIeAAAAgIYT8AAAAAA0nIAHAAAAoOEEPAAAAAANJ+ABAAAAaDgBDwAAAEDDCXgAAAAAGk7AAwAAANBwAh4AAACAhhPwAAAAADScgAcAAACg4QQ8AAAAAA0n4AEAAABoOAEPAAAAQMMJeAAAAAAaTsADAAAA0HACHgAAAICGE/AAAAAANJyABwAAAKDhBDwAAAAADSfgAQAAAGg4AQ8AAABAwwl4AAAAABpOwAMAAADQcAIeAAAAgIYT8AAAAAA0nIAHAAAAoOEEPAAAAAANJ+ABAAAAaDgBDwAAAEDDCXgAAAAAGk7AAwAAANBwAh4AAACAhhPwAAAAADScgAcAAACg4QQ8AAAAAA0n4AEAAABoOAEPAAAAQMMJeAAAAAAaTsADAAAA0HACHgAAAICGE/AAAAAANJyABwAAAKDhBDwAAAAADSfgAQAAAGg4AQ8AAABAwwl4AAAAABpOwAMAAADQcAIeAAAAgIYT8AAAAAA0nIAHAAAAoOEEPAAAAAAN1+sBTynlP0opc0ops9qvP/R2DQAAAAD9SV+N4Dmm1trRfm3ZRzUAAAAA9AumaAEAAAA0XF8FPF8spTxVSrmllLJrH9UAAAAA0C/0RcBzfJJNk2yQ5Pwk15RS/qpro1LKh0spk0opk6ZPn97bNQIAAAA0Rq8HPLXW39Van6u1vlhrnZjkliT7dNPu/FrrmFrrmBEjRvR2mQAAAACNsTKswVOTlL4uAgAAAKCpejXgKaWsVUp5VylltVLKwFLKwUnenuTfe7MOAAAAgP5kYC+fb1CS05JsleTlJJOT7F9r/UMv1wEAAADQb/RqwFNrnZ5kx948JwAAAEB/tzKswQMAAADAMhDwAAAAADScgAcAAACg4QQ8AAAAAA0n4AEAAABoOAEPAAAAQMMJeAAAAAAaTsADAAAA0HACHgAAAICGE/AAAAAANJyABwAAAKDhBDwAAAAADSfgAQAAAGg4AQ8AAABAwwl4AAAAABpOwAMAAADQcAIeAAAAgIYT8AAAAAA0nIAHAAAAoOEEPAAAAAANJ+ABAAAAaDgBDwAAAEDDCXgAAAAAGk7AAwAAANBwAh4AAACAhhPwAAAAADScgAcAAACg4QQ8AAAAAA0n4AEAAABoOAEPAAAAQMMJeAAAAAAaTsADAAAA0HACHgAAAICGE/AAAAAANJyABwAAAKDhBDwAAAAADSfgAQAAAGg4AQ8AAABAwwl4AAAAABpOwAMAAADQcAIeAAAAgIYT8AAAAAA0nIAHAAAAoOEEPAAAAAANJ+ABAAAAaDgBDwAAAEDDCXgAAAAAGk7AAwAAANBwAh4AAACAhhPwAAAAADScgAcAAACg4XoU8JRShpdSNuqy7SOllLNKKfuumNIAAAAA6ImejuC5IMmnF7wppXw2yblJPpDkZ6WU96+A2gAAAADogZ4GPGOS/LLT+6OSnF5rXTfJt5N8YnkXBgAAAEDP9DTgWSfJtCQppbwpyfpJJrb3/TTJlsu/NAAAAAB6oqcBz5+TjGr/vXuSJ2qtD7TfD1qCfgAAAABYzgb2sN2NSU4upQxP8s9pjdpZYKskjy7vwgAAAADomZ6OvPlUkseSfDHJQ0lO6bTv4CS/WdITl1I2L6XMKaVcvKTHAgAAAPAXPRrBU2udlmTPV9i9R5I5S3Hubye5fSmOAwAAAKCTZV47p9Y6s9b60pIcU0o5MMkzWfTJXAAAAAAshV5fHLmUsmaSf01rLZ9Xa/fhUsqkUsqk6dOn905xAAAAAA3UF0+/OjXJ92utj71ao1rr+bXWMbXWMSNGjOil0gAAAACap6dP0VouSinbp7Vmzw69eV4AAACA/qxXA54kuybZJMmUUkqSdCQZUEr561rr3/RyLQAAAAD9Qm8HPOcnuazT+39JK/A5upfrAAAAAOg3ljngKaV8MMn/q7Ve/1pta63PJ3m+07GzksyptVpFGQAAAGApLY8RPBcmqaWUe5J8odb6454eWGs9eTmcHwAAAOB1bXk8RWu3JO9Ocm2SY5ZDfwAAAAAsgWUewVNrvan953XL2hcAAAAAS255jOABAAAAoA/1OOAppexQSrmqlPJUKWVeKeVv2ttPL6XsveJKBAAAAODV9CjgKaWMTXJrkq2S/KjLcfOTHLX8SwMAAACgJ3o6gudLSf49yTZJPtFl338l+ZvlWRQAAAAAPdfTRZb/JskBtdZaSqld9j2VZMTyLQsAAACAnurpCJ45SVZ/hX0jkzy7fMoBAAAAYEn1NOD5TZLjSikDOm1bMJLnyCS/Wq5VAQAAANBjPZ2i9dkktyS5O8kVaYU7h5ZSvpHkfyXZccWUBwAAAMBr6dEInlrr3UnenmRakhOTlCTHtHe/o9b6hxVTHgAAAACvpacjeFJr/a8k7yylrJZknSTP1FqfX2GVAQAAANAjPQ54Fqi1zknyxAqoBQAAAICl0OOAp5SydZL3JtkwyWpddtda66HLszAAAAAAeqZHAU8p5YNJLkhrceUnk7zUpUld7CAAAAAAesWSPEXrZ0mOrLU+swLrAQAAAGAJ9TTgWT/JUcIdAAAAgJVPjx6TnuSWJFuvyEIAAAAAWDo9HcFzTJKrSil/TnJ9kqe7Nqi1zl+ehQEAAADQMz0NeB5PcmeSi19hf12CvgAAAABYjnoaynw3yfuT/DTJ5Cz+FC0AAAAA+khPA579knyy1vqtFVkMAAAAAEuup4ssz05y74osBAAAAICl09OA5wdJPrAiCwEAAABg6fQ04Hk0ya6llBtKKf9cSjmi62tFFgkAAHTvkEMOyciRI7Pmmmtmiy22yPe+971u21122WXZcsstM2zYsKy33no59NBDM3PmzCTJiy++mCOPPDIbb7xxhg4dmh122CG/+MUvuu3nlFNOSSklN9544wq7JgCWXE8DnnOTbJzknUm+muR7XV7fXSHVAQAAr+ozn/lMHnnkkcycOTP/9m//lpNOOil33HHHYu3e9ra35ZZbbsmzzz6bhx9+OPPmzctJJ52UJJk3b1423HDD3HTTTXn22Wdz6qmnZty4cXnkkUcW6eOhhx7KFVdckZEjR/bGpQGwBHoa8Ix+jdemK6Q6AADgVW2zzTZZddVVkySllJRS8tBDDy3WbsMNN8zw4cMXvh8wYEAefPDBJMkaa6yRk08+OZtssklWWWWV7Lvvvhk9evRiQdExxxyTL3/5yxk8ePAKvCIAlkaPnqJVa310RRcCAAAsnQkTJuTCCy/MCy+8kB122CH77LNPt+1+85vf5O///u8zc+bMrL766rn66qu7bTdt2rTcf//92WabbRZuu/zyyzN48OBX7BuAvtXTETwAAMBK6pxzzslzzz2Xm2++OQcccMDCET1djR07Ns8++2wef/zxfPKTn8wmm2yyWJu5c+fm4IMPzqGHHpqtttoqSTJr1qyccMIJOeOMM1bkZQCwDF4x4CmlPFxK2a799x/b71/ptfgYUAAAoNcMGDAgY8eOzeOPP55zzz33VdtusMEG2XvvvXPggQcusn3+/PkZP358Bg8enLPPPnvh9s9//vMZP358Ro8evUJqB2DZvdoUrZuSzOz0d13x5QAAAMti3rx53a7B81rtaq058sgjM23atFx33XUZNGjQwn2//OUv8/jjj+ecc85JkkyfPj3jxo3L8ccfn+OPP375XwQAS+wVA55a6+Gd/j6sV6oBAAB67Mknn8yvfvWr7LvvvhkyZEhuvPHGXHrppfnRj360WNtLLrkku+yySzbccMNMmTIlJ554Yt75zncu3H/00Ufnvvvuy4033pghQ4Yscuwvf/nLzJ07d+H7HXfcMd/4xjfyd3/3dyvu4gBYIj2aogUAAKx8Sik599xzM2rUqKy99tr5l3/5l5xxxhnZb7/9MmXKlHR0dGTKlClJknvvvTc777xzOjo68ra3vS1bbrllvvvd7yZJHn300Zx33nm56667sv7666ejoyMdHR255JJLkiTrrrtu1l9//YWvAQMGZO21105HR0efXTsAiyq1dj/zqpQyP8lbaq239W5JixszZkydNGlSX5cBAADQf5z3jr6u4HXp3S99oa9LeN265tixfV3CclFKuaPWOqbrdk/RAgAAAGi41wp4LKwMAAAAsJJ7tadoJckppZSnetBPrbUeujwKAgAAAGDJvFbAs32SF3vQj5E+AAAAAH3ktQKe/VeGRZYBAGBl9e6zftPXJbwu9ZfFUgGWF4ssAwAAADScgAcAAACg4QQ8AAAAAA33imvw1FqFPwAAAAANIMQBAAAAaDgBDwAAAEDDCXgAAAAAGk7AAwAAANBwAh4AAACAhhPwAAAAADScgAcAAACg4QQ8AAAAAA0n4AEAAABoOAEPAAAAQMMJeAAAWK5efPHFHHnkkdl4440zdOjQ7LDDDvnFL37Rbdtaa0466aRssMEGGTZsWHbdddfcc889C/ffd9992X333TNs2LBsttlmufrqq3vrMgCgUQQ8AAAsV/PmzcuGG26Ym266Kc8++2xOPfXUjBs3Lo888shibS+//PJccMEFufnmmzNjxoy89a1vzfjx4xf2s99++2XffffNjBkzcv755+eQQw7J/fff38tXBAArPwEPAADL1RprrJGTTz45m2yySVZZZZXsu+++GT16dO64447F2v7xj3/M2LFjs+mmm2bAgAE55JBDcu+99yZJJk+enCeeeCL/9E//lAEDBmT33XfP2972tlx00UW9fUkAsNLr9YCnlHJxKWVqKWVmKeX+UsqHersGAAB6z7Rp03L//fdnm222WWzfgQcemAcffDD3339/5s6dm4kTJ2bvvfdO0pq+1VWtNb///e9XeM0A0DR9MYLni0k2qbWumeQ9SU4rpfyvPqgDAIAVbO7cuTn44INz6KGHZquttlps/8iRI7PLLrtkyy23zJAhQ3L55Zfnm9/8ZpJkq622ynrrrZevfvWrmTt3bq6//vrcdNNNef7553v7MgBgpdfrAU+t9Z5a64sL3rZff9XbdQAAsGLNnz8/48ePz+DBg3P22Wd32+aUU07J7bffnsceeyxz5szJ5z//+ey+++55/vnnM2jQoPz0pz/Nz3/+86y//vr5+te/nnHjxmXUqFG9fCUAsPLrkzV4SinnlFKeTzI5ydQk1/VFHQAArBi11hx55JGZNm1arrzyygwaNKjbdnfffXfe//73Z9SoURk4cGAOO+ywPP300wvX4dl2221z00035c9//nP+/d//PQ8//HB22mmn3rwUAGiEPgl4aq0TkgxNskuSq5K82LVNKeXDpZRJpZRJ06dP7+0SAQBYBkcffXTuu+++XHPNNRkyZMgrtttxxx1z+eWXZ9q0aZk/f34uuuiizJ07N5tttlmS5L//+78zZ86cPP/88/na176WqVOn5rDDDuul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RowYkenTp2+x3xe+8IUccsgh6erqyvjx4zNt2rSsWLGi//iiRYty/PHHp6urKwcffHC+9KUvbXT+6tWr8973vjd77bVXurq6cuyxx+6sKQEAwC5LwAPAZu27776ZMWNG3v3ud79ov2OOOSb33Xdfnnnmmfz0pz9NT09PZsyYkSTp6enJ2972trz1rW/N8uXLc8MNN+TMM8/M4sWL+88/99xzs3z58ixatCjLly/PVVddtVPnBQAAuyIBDwCbNXXq1Lz97W/Py172shftt//++2evvfbq/97R0ZElS5YkSX70ox/lySefzPvf//50dHTk+OOPzzHHHJO5c+cmSX784x/ny1/+cm644YaMGzcuHR0ded3rXrfzJgUAALsoAQ8Af7B77703XV1d2WOPPTJv3ry8733vS5LUWl/Qt9aaH/7wh0mS733ve5kwYUIuueSS7LXXXnn1q1+defPmtbR2AADYFQh4APiDTZkyJc8880yWLl2aD37wg5k4cWKS5NBDD8348ePz93//91m3bl3uvPPOzJ8/P6tXr06SLF26ND/84Q/T1dWVJ598MrNmzcq0adOyaNGiNs4GAACaR8ADwA6z33775cQTT8zpp5+eJNl9991z22235Wtf+1r23nvvfOITn8hpp52WV7ziFUmSUaNGZffdd8+MGTMyfPjwHHfccfnTP/3T3Hnnne2cBgAANM6wdhcAwK6lp6cnjz76aP/317zmNZk/f37/96OPPjrTpk3rPwYAAPzhrOABYLN6enqydu3arF+/PuvXr8/atWvT09Pzgn433XRTuru7U2vN448/ng9/+MN54xvf2H/84Ycfztq1a7N69er8wz/8Q37xi1/0v3b92GOPzQEHHJC/+7u/S09PT+67777cc889edOb3tSqaQIAwC5BwAPAZs2cOTOjRo3KlVdemRtvvDGjRo3KzJkz093dnc7OznR3dydJFi5cmKOPPjqdnZ055phjcsghh+RTn/pU/zhz587NPvvsk/Hjx+fuu+/OXXfdlREjRiTpfYTr9ttvz9e//vV0dXXlPe95T+bMmZNDDz20LXMGAICmKpt7w8lgM3ny5LpgwYJ2lwHAEHDyJ+9tdwlD1lcumtLuEprv+uPaXcGQdPJvP9buEoYk94wdwD2jLdwz2mdXuW+UUn5Qa528absVPAAAAAANJ+ABAAAAaDgBDwAAAEDDCXgAAAAAGm5YuwsAYAtsfNgmNj4EAKB5rOABAAAAaDgBDwAAAEDDCXgAAAAAGk7AAwAAANBwAh4AAACAhhPwAAAAADScgAcAAACg4QQ8AAAAAA0n4AEAAABoOAEPAAAAQMMJeAAAAAAaTsADAAAA0HACHgAAAICGE/AAAAAANJyABwAAAKDhBDwAAAAADSfgAQAAAGg4AQ8AAABAwwl4AAAAABpOwAMAAADQcAIeAAAAgIYT8AAAAAA0XMsDnlLKhaWUBaWU50opn2/19QEAAAB2Ne1YwfNkkplJPtuGa0PLLV++PO94xzsyevToTJgwITfffPNm+9VaM2PGjOy3337p6urKG97whjzyyCNJkueeey7nnHNOJkyYkD322COvfe1r841vfKP/3IULF2by5MkZO3Zsxo4dmxNOOCELFy5syfwAAABov5YHPLXWL9Zab0vyzvbv2gAAEVVJREFU61ZfG9rhggsuyPDhw7Ns2bLcdNNNOf/88/uDm4FuueWWfPazn813vvOdLF++PEcddVTOOuusJElPT0/233//zJ8/P88880yuuOKKnHbaaXnssceSJPvuu29uvfXWLF++PL/61a9yyimn5PTTT2/lNAEAAGijQbsHTynl3L5HuRY89dRT7S4Hfi+rVq3KvHnzcsUVV6SzszNTpkzJKaeckrlz576g789+9rNMmTIlBx10UDo6OnLmmWf2r8IZPXp0Lr300kycODG77bZb3vrWt+bAAw/MD37wgyTJmDFjMnHixJRSUmtNR0dHlixZ0tK5AgAA0D6DNuCptd5Qa51ca508bty4dpcDv5fFixeno6MjkyZN6m874ogjNruC5/TTT8+SJUuyePHirFu3LrNnz86JJ5642XGXLVuWxYsX5/DDD9+ofcyYMRk5cmQuuuiifOhDH9qxkwEAAGDQGtbuAmBXtnLlynR1dW3U1tXVlWefffYFfffZZ5/8yZ/8SQ455JB0dHRk//33z7e//e0X9Fu3bl3e9a53Zdq0aTn00EM3Ovb0009n1apVmT17diZMmLBjJwMAAMCgJeCBnaizszMrVqzYqG3FihXZY489XtD3sssuy/e///088cQT2XvvvXPjjTfm+OOPzyOPPJKXvOQlSZINGzbkrLPOyvDhwzNr1qzNXnP06NE577zzMm7cuCxatCjjx4/f8RMDAABgUGnHa9KHlVJGJulI0lFKGVlKETSxS5o0aVJ6enryk5/8pL/toYceesGjVc+3/8Vf/EVe8YpXZNiwYZk+fXp+85vf9O/DU2vNOeeck2XLlmXevHnZfffdt3jdDRs2ZPXq1fn5z3++4ycFAADAoNOOPXhmJFmT5G+TnNn3+4w21AE73ejRozN16tR89KMfzapVq3Lffffl9ttv73871kCvf/3rc8stt2TZsmXZsGFD5s6dm3Xr1uXggw9Okpx//vlZtGhRvvKVr2TUqFEbnXvXXXflgQceyPr167NixYp84AMfyNixY3PYYYe1ZJ4AAAC0Vztek35prbVs8rm01XUMNcuXL8873vGOjB49OhMmTMjNN9+82X7nnXdeOjs7+z8jRozY6HGibR3nsssuSykl3/rWt3bKfJrkmmuuyZo1azJ+/PicccYZufbaa3P44Yenu7s7nZ2d6e7uTpJcfPHFOeKII3LkkUdmzJgxueqqqzJv3ryMGTMmjz/+eK6//vo8+OCD2Xvvvfv/+9x0001JevfeOeOMM9LV1ZVXvvKVWbJkSe64446MHDmynVMHAACgRTwaNURccMEFGT58eJYtW5YHH3wwJ510Uo444ogXPCp03XXX5brrruv/Pn369Oy2227bNc6jjz6aW2+9Nfvss8/On1gD7Lnnnrntttte0H7AAQdk5cqV/d9HjhyZq6++OldfffUL+k6YMCG11i1e49RTT82pp566YwoGAACgcQbta9LZcVatWpV58+bliiuuSGdnZ6ZMmZJTTjklc+fO3abzpk2btl3jXHjhhfn4xz+e4cOH77Q5AQAAAL8j4BkCFi9enI6OjkyaNKm/7YgjjsgjjzzyoufNmzcv48aNy7HHHrvN49xyyy0ZPnx43vKWt+zgWQAAAABb4hGtIWDlypXp6uraqK2rqyvPPvvsi543e/bsnH322SmlbNM4K1euzIc+9KHceeedO7B6AAAAYGus4BkCOjs7s2LFio3aVqxYsdHmyZt64oknMn/+/Jx99tnbPM4ll1ySs846KwceeOAOrB4AAADYGit4hoBJkyalp6cnP/nJT/KqV70qSfLQQw+9YIPlgebMmZOjjz46Bx100DaPc/fdd2fp0qW55pprkiRPPfVUTjvttFx88cW5+OKLd9b0turkT97btmsPZV+5aEq7SwAAABgyBDxDwOjRozN16tR89KMfzac//ek8+OCDuf322/Pd7353i+fMmTPnBaHM1sa5++67s27duv7+r3/96/OP//iPefOb37xzJgYAAAAk8YjWkHHNNddkzZo1GT9+fM4444xce+21Ofzww9Pd3Z3Ozs50d3f3973//vuzdOnSzb52e0vjJMnLXvay7L333v2fjo6OjB07Np2dnS2bJwAAAAxFVvAMEXvuuWduu+22F7QfcMABWbly5UZtRx11VFatWrVd42zOY489tt11AgAAANvPCh4AAACAhhPwAAAAADScgAcAAACg4QQ8AAAAAA1nk+VWuv64dlcwRH2s3QUAAADATmUFDwAAAEDDCXgAAAAAGk7AAwAAANBwAh4AAACAhhPwAAAAADScgAcAAACg4QQ8AAAAAA0n4AEAAABoOAEPAAAAQMMJeAAAAAAaTsADAAAA0HACHgAAAICGE/AAAAAANJyABwAAAKDhBDwAAAAADSfgAQAAAGg4AQ8AAABAwwl4AAAAABpOwAMAAADQcAIeAAAAgIYT8AAAAAA0nIAHAAAAoOEEPAAAAAANJ+ABAAAAaDgBDwAAAEDDCXgAAAAAGk7AAwAAANBwAh4AAACAhhPwAAAAADScgAcAAACg4QQ8AAAAAA0n4AEAAABoOAEPAAAAQMMJeAAAAAAaTsADAAAA0HACHgAAAICGE/AAAAAANJyABwAAAKDhBDwAAAAADSfgAQAAAGg4AQ8AAABAwwl4AAAAABpOwAMAAADQcC0PeEope5ZSvlRKWVVKebyU8petrgEAAABgVzKsDde8Oslvk7w8yZFJvlZKeajW+kgbagEAAABovJau4CmljE7yziQfqbWurLXem+TLSc5qZR0AAAAAu5JSa23dxUp5bZLv1lpHDWj7myTH1VpP3qTvuUnO7ft6SJIft6xQGDz2SvKrdhcBNIr7BrA93DOA7eW+0X4Taq3jNm1s9SNanUme2aTtmSR7bNqx1npDkhtaURQMVqWUBbXWye2uA2gO9w1ge7hnANvLfWPwavUmyyuTvHSTtpcmebbFdQAAAADsMlod8CxOMqyU8qoBbUckscEyAAAAwO+ppQFPrXVVki8mubyUMrqUckyStyWZ28o6oEE8pghsL/cNYHu4ZwDby31jkGrpJstJUkrZM8lnk/xZkl8n+dta680tLQIAAABgF9LygAcAAACAHavVe/AAAAAA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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" + "name": "stdout", + "output_type": "stream", + "text": [ + "TIME Python: 29.691943883895874\n", + "TIME SDC No Parallel: 14.527932917146245\n", + "TIME SDC Parallel: 3.1467556294228416\n" + ] } ], "source": [ - "from performance import Plotter\n", + "# SDC scalability: multithreading\n", + "s1 = pd.Series(np.repeat(df.altitude.values, 500))\n", + "s2 = pd.Series(np.repeat(df.cadence.values, 500))\n", "\n", - "pl = Plotter('describe')\n", - "pl.plot_performance()" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "def groupby_operation(df):\n", - " start = time.time()\n", - " grp = df.groupby('power')\n", - " mean = grp['speed'].mean()\n", - " end = time.time() - start\n", - " return mean, end" + "sdc_no_parallel = sdc.jit(parallel=False)(data_sum_series)\n", + "sdc_parallel = sdc.jit(parallel=True)(data_sum_series)\n", + "\n", + "_, t_py = data_sum_series(s1, s2)\n", + "_, t_np = sdc_no_parallel(s1, s2)\n", + "_, t_p = sdc_parallel(s1, s2)\n", + "\n", + "print(\"TIME Python: \", t_py)\n", + "print(\"TIME SDC No Parallel: \", t_np)\n", + "print(\"TIME SDC Parallel: \", t_p)" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 3, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "TIME python: 0.05549812316894531\n", - "TIME SDC: 0.10742287183529697\n" - ] + "data": { + "image/png": "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Zs0a7JLp6MYIntOSfLzW+qta69O11vtqrfd1oQ4AAACgh5e97GUZNWpUhg8fniOPPDKvfOUrc9VVVy3S7pRTTslOO+2UHXfcMbvttlsOPvjgDBs2LBtuuGEXqiYZ5Nukl1KGJBmX5L9KKX9MsmaSy5J8oNb6RK+2xyU5LknGjh27XOc76Oyfr1C9K+ryE3df7mO/+tWv5h3veMeC1yNHjswWW2yRY489Nscff/ygrjlUSsm//Mu/ZMKECYN2TgAAALqvlLLQVKz5RowYkcmTJ2fy5MlJknPPPTc777xzhgwZMtgl0jHYI3iel2RYkjcl2SPJjkl2SnJq74a11nNrreNqrePGjBkzuFWuQr7zne/kuuuuy8UXX5xdd901J554Yj7+8Y93uywAAABWM4888kj+53/+J7Nnz87cuXPz9a9/PT/96U/z2te+dpG29913X+6///7UWvOrX/0qp59+ek477bQuVM18gx3wzB+lc3atdVqt9cEkn01y4CDX0Ro77rhjXv7yl2e//fbLl770pey111753Oc+1+2yAAAAWM3MmTMnp556asaMGZPRo0fn7LPPzmWXXZatt946d999d0aOHJm77747SXLHHXdkt912y9prr50jjzwykyZNyn777dfld/DsNqgBT6314ST3Jll0fBf9sssuu+Txxx/PX//613zrW9/Kq1/96owZMyYjR47MTjvtlAsuuGCRY0opOfXUU3PWWWdl8803z6hRo/KqV70qv//97xdqN2/evJx66qnZaKONstZaa2WvvfZapE2S/PGPf8zhhx+ezTffPCNGjMgWW2yRE044IQ8//PBC7W688cbsu+++2WCDDbLWWmtliy22yPjx4wf2ggAAADAgxowZkxtvvDGPP/54HnnkkfzqV7/Kvvvum6RZOmXGjBkLllDZc8898+c//zmzZs3KrbfemsMOO6ybpZNBXoOn4ytJTiyl/HeSOUlOTnJFF+popT/96U8ZMmRIRo4cmTvvvDNvetOb8uEPfzjPec5z8tOf/jTvfOc788QTT+T4449f6LiLLrooW2+9dc4888w89dRT+cAHPpA3vOENmTp16oL1fCZMmJAzzjgj73//+7PffvtlypQpef3rX79IDffff3822WSTfO5zn8t6662XO++8M2eccUYOPPDAXHfddUmSGTNm5LWvfW123XXXfPWrX82oUaPy5z//Ob/85S9X/kUCAACAZ5luBDynJxmd5LYks5N8O8knulBHK8ybNy9z587N448/nm9/+9u55JJLctBBB2WttdbKRz/60QXtnn766ey1116ZNm1avvCFLywS8AwbNixXXHFFhg0btmDbm9/85txwww3Zbbfd8vDDD+ff//3fc9xxx+XTn/50kmS//fbLkCFD8uEPf3ihvvbcc8/sueeeC17vtttu2XLLLbPHHnvkpptuyk477ZSpU6fm4Ycfzr/+679mhx12WND2qKOOGsjLAwAAAKQLt0mvtc6ptY6vta5ba31+rfWkWuvswa6jLbbZZpsMGzYs66+/fsaPH5/DDjss559/fpLk9ttvz9ve9ra84AUvyLBhwzJs2LB8+ctfzq233rpIP/vuu+9C4c5LXvKSJFkwf/K3v/1tZs6cmUMPPXSh49761rcu0tdTTz2VM844I9tss01GjBiRYcOGZY899kiSBefeaqutsu666+Zd73pXLrrootxzzz0DcDUAAACAvgx6wMOyufTSS3PjjTdm6tSpmTlzZi688MKsv/76mTFjRvbdd9/cfPPNmTRpUn72s5/lxhtvzNFHH50nn3xykX7WX3/9hV4PHz48STJ7dpOtTZs2LUnyvOc9b6F2vV8nyUc+8pFMmDAhb3/723PllVfmhhtuyCWXXLJQf8997nPz4x//OBtvvHHGjx+fsWPHZvvtt8/FF1+8glcEAAAA6K0bU7RYBttvv3223HLLRbZfd911ueuuu/Kzn/0su++++4Ltc+fOXa7zbLTRRkmSBx54INttt92C7Q888MAibb/1rW/liCOOyKmnPnN3+xkzZizSbscdd8zFF1+cuXPnZsqUKfnkJz+ZQw89NDfffHO233775aoTAACgzQ46++fdLuFZ6/ITd196oxYzgqelZs2alSQLTbt6+OGH873vfW+5+tthhx2y9tpr59vf/vZC27/1rW/1ee6e502Sr3zlK4vte+jQoXn5y1+e008/PU8//XRuueWW5aoRAAAA6JsRPC212267ZZ111sm73/3unHbaaZk5c2YmTpyY0aNH59FHH13m/tZdd928733vyyc+8YmMGjUq++23X2688cacd955i7Tdf//9c8EFF+QlL3lJttxyy1xyySWL3B3riiuuyLnnnpuDDz44m2++eWbOnJmzzjoro0aNyite8Yrlft8AAADAolbrgGd1Hn41ZsyYXHrppfmnf/qnvOlNb8rGG2+c9773vXnooYdy2mmnLVefEyZMSK01X/7ylzN58uS87GUvy+WXX77QlK0kOfvss1NrzSmnnJIkOfDAA/PNb34zu+6664I2W221VUaMGJHTTz8906ZNy6hRo7LLLrvk6quvziabbLL8bxwAAABYRKm1druGpRo3blydMmXKYvffcsst2XbbbQexIlYmnycAALC6sgZP96wug0BKKb+utY7rvd0aPAAAAAAtJ+ABAAAAaDkBDwAAAEDLCXgAAAAAWk7AAwAAANByAh4AAACAlhPwAAAAALScgAcAAACg5QQ8AAAAAC0n4AEAAABouaHdLmCl+uKrunv+d1273Idedtll+exnP5upU6fm8ccfz4Ybbpiddtopxx9/fPbff/8kyU9+8pPsvffeC45Zc801s8EGG2SHHXbIIYcckiOOOCJrrLHGIn3PnDkzZ511Vr7zne/k9ttvz5w5c7Lppptm3333zcknn5wtt9xyuesGAAAABt/qHfC01FlnnZX3vve9Ofroo/OBD3wga6+9du64445ceeWV+dGPfrQg4OnZfpdddsmcOXNy//335+qrr8673/3uTJ48OVdffXXGjBmzoO20adOyzz775P7778973vOe7L777lljjTXyhz/8Ieeff35+8Ytf5KabbhrstwwAAACsAAHPKujTn/50Dj744Jx33nkLtr361a/Osccem6effnqR9ttuu21e/vKXL3j9lre8Jcccc0z23nvvHH300bn88ssX7Dv88MMzbdq03HDDDdlqq60WbN97770zfvz4fO9731tJ7woAAABYWazBswp66KGH8vznP7/Pfc95Tv8+sle84hU54YQTcsUVV+SOO+5Iktxwww354Q9/mI9+9KMLhTvzlVJy8MEHL3/hAAAAQFcIeFZBu+66ay644IL827/9W2677bbl7ufAAw9MkvziF79IklxzzTVJkte//vUrXiQAAACwyhDwrILOOeecbLnllvngBz+YrbfeOqNHj87b3va2/OAHP1imfsaOHZukWXcnSe65554kyaabbjqwBQMAAABdJeBZBb3oRS/KTTfdlGuvvTannHJKdtxxx1x66aV57Wtfm4kTJ/a7n1prkmbqFQAAALD6EvCsooYMGZI999wzEydOzDXXXJM777wzL3nJ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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" } ], "source": [ - "sdc_groupby = numba.jit(groupby_operation)\n", - "_, t = groupby_operation(df)\n", - "_, sdc_t = sdc_groupby(df)\n", + "from plotting import Plotter\n", "\n", - "print(\"TIME python: \", t)\n", - "print(\"TIME SDC: \", sdc_t)" + "pl = Plotter('sum')\n", + "pl.plot_performance()" ] }, { @@ -559,7 +444,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -567,9 +452,9 @@ " start = time.time()\n", " # Remove entries where power==0\n", " train = df.drop('time', axis=1)\n", - " train = df[df.power!=0]\n", + " train = train[df.power!=0]\n", " # Reduce the dataset, create X. We drop the target, and other non-essential features\n", - " reduced_train = train.drop(['time','power','latitude','longitude'], axis=1)\n", + " reduced_train = train.drop(['power','latitude','longitude'], axis=1)\n", " # Get the target, create Y as an 2d array of float64\n", " target = train.power.values.reshape(len(train),1).astype(np.float64)\n", " end = time.time() - start\n", @@ -579,20 +464,20 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "TIME python: 0.8920345306396484\n", - "TIME SDC: 0.6088883920165244\n" + "TIME python: 0.3322134017944336\n", + "TIME SDC: 0.20170818027690984\n" ] } ], "source": [ - "sdc_split = numba.jit(data_split)\n", + "sdc_split = sdc.jit(data_split)\n", "train, target, t = data_split(df)\n", "sdc_train, sdc_target, sdc_t = sdc_split(df)\n", "\n", @@ -617,7 +502,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 44, "metadata": {}, "outputs": [], "source": [ @@ -626,7 +511,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 45, "metadata": {}, "outputs": [], "source": [ @@ -638,7 +523,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 46, "metadata": {}, "outputs": [ { @@ -662,7 +547,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 47, "metadata": {}, "outputs": [], "source": [ @@ -680,7 +565,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 48, "metadata": {}, "outputs": [], "source": [ @@ -689,12 +574,12 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 49, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -712,6 +597,13 @@ "plt.plot(test_set.power.values[0:300])\n", "plt.show()" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -730,7 +622,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.4" + "version": "3.7.3" } }, "nbformat": 4,