blob: fd9dc0ad7abd402bcb68ead5c09866377097d314 [file] [log] [blame]
{
"cells": [
{
"cell_type": "code",
"execution_count": 54,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {},
"outputs": [],
"source": [
"blue, orange, green, red, *rest = sns.color_palette()"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [],
"source": [
"cols=('py_version', 'jf_version', 'implementation', 'function', 'time')\n",
"df = pd.read_csv('timedruns.csv', names=cols)\n",
"#pivoted = df.pivot_table(index=['function'], columns=['implementation'])"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='time', ylabel='function'>"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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qPqr1Ok6S5YsEaekaGpqYsqUKUhPTwfwfuQ4MjIS3333HVatWgUnJycsXboUX3/99Re3O2/ePOjr6yM0NBQPHjyAjo4OnJyc8N133xV73LJlyzBs2DC4urqidu3amDZtWoG7lISHh2Po0KFo06YNTExMsHLlSly+fPmz4jQxMUFsbCymTZuGr776CtnZ2TA3N4eXl5dUctq+fXvo6uoiMTERAwcOlKrD09MTBw4cQEhICBYtWgRFRUU0bNgQI0aMKHEcSkpKmDFjBpKSkqCqqoo2bdpgx44dJT7e1dUVY8aMQf/+/fHs2TPMmTMHwcHBiIiIwPz58zFlyhT8888/qF27Nlq1aoVu3bqVuO7SKO79VhgdHR2EhYVh8uTJyM3NhZ2dHf773/9CT08PwPsLs0ePHo369esjOzsbgiBg5syZePDgATw9PaGmpoZRo0ahR48exbZTmN27dyMwMBA+Pj549eoVGjRoIN5FyN7eHqdOncL333+PNm3aQBAE1K9fH/379y91n8yJUoB6NXj+g/vpU58uRERERCKJ8PEEciKSeRkZGdDW1sZBF1cm+URERNVE/t/v9PR0aGlpFVu2Uu+TT0REREREZY9JfgVauHCh1G0PP1w6d+5c2eFVa8nJyUX2rYaGRrnd5pSIiIioKqr6v9PLkDFjxohPq/3Yp26bSMUzMTFBfHx8sfuJiIiIagom+RVIV1cXurq6lR2GTFJQUOAtJYmIiIj+P07XISIiIiKSMUzyiYiIiIhkDJN8IiIiIiIZwzn5RDVY6yOHP3mfXSIiIqp+OJJPRERERCRjmOQTEREREckYJvlERERERDKGST4RERERkYxhkk9EREREJGOY5BMRERERyRgm+UREREREMoZJPhERERGRjGGST0REREQkY5jkExERERHJGCb5REREREQyhkk+EREREZGMYZJPRERERCRjmOQTEREREckYJvlERERERDKGST4RERERkYxhkk9EREREJGOY5MsQDw8PBAQEVHYYJRIZGQkdHZ3KDgMWFhZYsWKFuC6RSBAVFVVp8VS0Tus6wW21W4GFiIiIqjcm+VQp+vfvjzt37lR2GAWkpKSgc+fOJSpb074QEBERUfWhUNkBUM2kqqoKVVXVyg6jACMjo8oOgYiIiOiLcSRfxuTl5SEoKAi6urowMjJCcHCwuG/ZsmWws7ODuro6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nS1btmDfvn2QSCSQSCSIiYlB+/bt4e/vL9Xe06dPoaSkhOjo6BL1EREREck2JvlUrl69eoXJkyfj0qVLiI6OhpycHHr27Im8vDypctOnT8ekSZOQkJAAT09PrFy5EuHh4Vi6dCmuX78OT09PfP3117h79+4n21y1ahX279+PX3/9FYmJidi2bRssLCyKPWbOnDmYOXMmrly5AgUFBQwcOBBBQUFYuXIlzpw5g3v37mH27NklPu+cnBzMmzcP165dQ1RUFJKSkuDn51eg3PTp0xEWFoaEhATY29tL7QsMDES/fv3g5eWFlJQUpKSkwNXVFSNGjMD27duRnZ0tlv35559Rp04dtG/fvtB4srOzkZGRIbUQERGR7OJ0HSpXvXv3llrfvHkz9PX1cevWLTRp0kTcHhAQgF69eonrS5cuxbRp0zBgwAAAwKJFi3Dy5EmsWLECa9asKbbN5ORkWFlZoXXr1pBIJDA3N/9knIGBgfD09AQATJo0CT4+PoiOjoabmxsAYPjw4YiMjCzROQPAsGHDxH/Xq1cPq1atQvPmzZGZmSk1HSckJASdOnUqtA4NDQ2oqqoiOztbaopRr1694O/vj3379qFfv34AgMjISPj5+UEikRRaV2hoKObOnVvi+ImIiKh640g+lau7d+/Cx8cH9erVg5aWljiinpycLFXO2dlZ/HdGRgYeP34sJtj53NzckJCQ8Mk2/fz8EB8fDxsbG0ycOBHHjh375DEfjqIbGhoCAOzs7KS2fTjd5lMuX74Mb29vmJmZQVNTE+7u7gCKP++SUlFRweDBg7F582YAwJUrV3Dz5s1CfynIN2PGDKSnp4vLo0ePSt0uERERVR9M8qlceXt74/nz59i4cSMuXLiACxcuAHg/b/5D6urqZdamk5MTHj58iHnz5uH169fo168f+vTpU+wxH17omz8a/vG2j6cYFeXVq1fw9PSElpYWtm3bhri4OOzduxdA2Z33iBEjcPz4cfz999+IiIhA+/bti/3FQllZGVpaWlILERERyS4m+VRunj17hsTERMycORMdOnSAra0tXrx48cnjtLS0YGJigthY6ft8x8bGolGjRiVqW0tLC/3798fGjRuxc+dO7N69G8+fP/+s8yit27dv49mzZwgLC0ObNm3QsGHDUv0K8CElJSXk5uYW2G5nZwdnZ2ds3LgR27dvl5oeRERE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MoZJPhERERGRjGGST0REREQkY5jkExERERHJGCb5REREREQyhkk+EREREZGMYZJPRERERCRjeJ98ohqs7cxfIK+sKq5fXuJbidEQERFRWeFIPhERERGRjGGST0REREQkY5jkExERERHJGCb5REREREQyhkk+EREREZGMYZJPRERERCRjmOQTEREREckYJvlERERERDKGD8MiqsGU626Ggur/fQy4rV5fabHEToittLaJiIhkDUfyicqIh4cHAgICKjsMIiIiIo7kU83i4eEBBwcHrFixorJDISIi+iK5ubnIycmp7DCoDCkqKkJeXr5M6mKST0RERFSNCIKAJ0+eIC0trbJDoXKgo6MDIyMjSCSSL6qHST5VWR4eHrCzs4O8vDy2bNkCJSUlzJ8/HwMHDoS/vz927doFQ0NDrF69Gp07dwYA3Lx5E1OnTsWZM2egrq6Or776CsuXL0ft2rXh5+eHU6dO4dSpU1i5ciUA4OHDhzA1NcWoUaPw+++/48mTJzAzM8O4ceMwadIkMRY/Pz+kpaXB0dERP/zwA7KzszFw4ECsWrUKSkpKYrm8vDwEBQVh06ZNUFJSwpgxYxAcHCzuT05OxoQJExAdHQ05OTl4eXlh9erVMDQ0BAAEBwcjKioKU6ZMwaxZs/DixQt07twZGzduhKamptjGokWLsGHDBjx58gTW1taYNWsW+vTpU2RfZmdnIzs7W1zPyMj48heIiIgqRX6Cb2BgADU1tS9OBqlqEAQBWVlZSE1NBQAYGxt/UX1M8qlK27JlC4KCgnDx4kXs3LkTY8eOxd69e9GzZ0989913WL58OQYPHozk5GS8ffsW7du3x4gRI7B8+XK8fv0a06ZNQ79+/fD7779j5cqVuHPnDpo0aYKQkBAAgL6+PvLy8lC3bl389ttv0NPTw7lz5zBq1CgYGxujX79+YizR0dFQUVFBTEwMkpKSMHToUOjp6WHBggVS8U6ePBkXLlzA+fPn4efnBzc3N3Tq1Al5eXno3r07NDQ0cOrUKbx79w7jx49H//79ERMTI9Zx//59REVF4cCBA3jx4gX69euHsLAwsZ3Q0FD8/PPPWLduHaysrHD69Gl888030NfXh7u7e6H9GBoairlz55bDK0RERBUpNzdXTPD19PQqOxwqY6qqqgCA1NRUGBgYfNHUHYkgCEJZBUZUljw8PJCbm4sz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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"colors = {\"python\": green, \"c\" : blue, \"rust\": red}\n",
"\n",
"sns.barplot(y='function', x='time', hue='implementation', data=df, palette=colors)\n",
"# turn the labels 90 degrees"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 0, 'time (log scale)')"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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wQePfK5ERETk2Zev03VmzJhhnJLi5OTE0KFDSUpKAm6NHEdERPDee+8xf/58ateuzcyZM3nttdceud0JEyZQpEgRpkyZwpkzZ3B1daV27dq899572R43e/ZsevTogZ+fH4ULF2bEiBFZVimZNWsW3bt3p2HDhpQoUYJ58+axb9++h4qzRIkSxMTEMGLECF555RVSU1MpW7YszZo1M0lOX3rpJdzc3Dh+/DidO3c2qSMoKIh169Yxfvx4pk2bRoECBahSpQq9evXKcRzW1taMHDmSuLg47OzsaNiwIStWrMjx8X5+fvTt25eOHTty8eJFxo4dS1hYGOHh4UycOJGhQ4fy+++/U7hwYerXr0/Lli1zXHduZPd+uxdXV1emTp3KkCFDSE9Pp0aNGvzvf/+jUKFCwK0Ls/v06UOFChVITU0lMzOTUaNGcebMGYKCgrC3t+fNN9+kTZs22bZzL6tWrSI0NJROnTpx7do1KlasaFxFyMvLi61bt/L+++/TsGFDMjMzqVChAh07dsz1ORkbaYWD7v8gIvkoYNvWBxcSkVwzZN49gVxEzF5ycjIuLi6sb+CnJF9E8pWSfJGcu/39nZSUhLOzc7Zl83WdfBERERERyXtK8p+gyZMnmyx7eOejefPm+R3eMy0+Pv6+59bR0fGxLXMqIiIi8jTS7/RPUN++fY13q73bg5ZNlOyVKFGC2NjYbPeLiIiIPC+U5D9Bbm5uuLm55XcYZsnKykpLSoqIiIj8f5quIyIiIiJiZpTki4iIiIiYGSX5IiIiIiJmRkm+iIiIiIiZ0YW3Is+xFzdueODNNEREROTZo5F8EREREREzoyRfRERERMTMKMkXERERETEzSvJFRERERMyMknwRERERETOjJF9ERERExMxoCU2R51ijUV9iaWOX5/XumxGc53WKiIhIzmkkX0RERETEzCjJFxERERExM0ryRURERETMjJJ8EREREREzoyRfRERERMTMKMkXERERETEzSvJFRERERMyMknwRERERETOjJF9ERERExMzojrdmJDAwEG9vb+bOnZvfoTxQREQEgwcP5sqVK/kah4eHB4MHD2bw4MEAGAwG1qxZQ5s2bfI1rifFptRnWNnl/ceA/4JP87xOeTbEvB2T3yGIiAgayZd80rFjR06cOJHfYWSRkJBA8+bNc1TWYDAQGRn5eAMSEREReQga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X78+LVu2NJYxGAx06tSJ6dOnM2bMGJPj7e3t2bZtGyNGjKBdu3ZcvXqVkiVL0qRJkxyP7Lu6urJ69WrjLzWenp58+eWXVK9ePcf9mDVrFkOGDGHRokWULFmSuLg4goKCWLduHePHj2fatGkUKFCAKlWq0KtXrxzXmxv169dn0aJFjB07ljFjxtC0aVNGjRrFhAkT7lne3t6eY8eOsWTJEi5evIi7uztvvfUWffr0AeBf//qXcTnPK1euEB4eTkhICLNnz2batGmMHDmSRo0aMWXKFOMfBjnVrVs3/vnnH+bMmUNoaCiFCxc2LltqMBj49ttvef/99+nevTsXLlygePHiNGrUiGLFiuX6vIyNtMLBShfeypMXsG1rfocgImLWcr26Tr169ahXrx7z58832f7222+zZ8+eHE2BEJH8dfvq/PUN/JTkS75Qki8iknu5WV0n19/u06dP59VXX+X77783rk6yc+dOzp07x7fffvtwEYuIiIiISJ7J9VI4AQEBnDhxgrZt23LlyhWuXLlCu3btOH78eLYXiIo8Ts2bNzdZUvLOx+TJk/M7PBEREZEn6qF+py9RooQusJWnyuLFi/n777/vuc/Nze0JRyMiIiKSv3KU5B86dIgXXngBCwsLDh06lG3Zu2+MJPIklCxZMr9DEBEREXlq5CjJ9/b25vz58xQtWhRvb2+Tm/fcyWAwZFk7XEREREREnqwcJflnz5413iH17NmzjzUgERERERF5NDlK8suWLWv896+//oqfnx9Wdy27d/PmTX788UeTsiIiIiIi8uTlenWdxo0b3/OmV0lJSTRu3DhPghIRERERkYeX69V1MjMzMRgMWbZfvHgRBweHPAlKRJ6MFzduyPHdj0VEROTZkeMkv127dsCti2tDQkKwsbEx7ktPT+fQoUP4+fnlfYQiIiIiIpIrOU7yXVxcgFsj+U5OTtjZ2Rn3WVtbU79+fXr37p33EYqIiIiISK7kOMkPDw8HwMPDg2HDhmFvb//YghIRERERkYeX6wtvg4OD+f3337NsP3nyJHFxcXkRk4iIiIiIPIJcJ/khISH8+OOPWbbv2rWLkJCQvIhJREREREQeQa6T/AMHDuDv759le/369YmNjc2LmERERERE5BHkeglNg8HA1atXs2xPSkoiPT09T4ISkSej0agvsbSxe3BBeST7ZgTndwgiIvKcyfVIfqNGjZgyZYpJQp+ens6UKVN48cUX8zQ4ERERERHJvVyP5E+bNo1GjRpRuXJlGjZsCMD27dtJTk7mhx9+yPMARUREREQkd3I9kl+tWjUOHTpEhw4dSExM5OrVqwQHB3Ps2DFeeOGFxxGjiIiIiIjkQq5H8gFKlCjB5MmT8zoWERERERHJAw+V5F+5coXdu3eTmJhIRkaGyb7gYF1gJiIiIiKSn3Kd5P/vf/+jS5cupKSk4OzsjMFgMO4zGAxK8kVERERE8lmu5+QPHTqUHj16kJKSwpUrV7h8+bLxcenSpccRo4iIiIiI5EKuk/zff/+dgQMHYm9v/zjiERERERGRR5TrJD8oKIi9e/c+jlhERERERCQP5HpO/quvvsqwYcM4cuQINWrUoECBAib7X3vttTwLTp4+YWFhREZGEhsbm9+hAODh4cHgwYMZPHhwfofy0KKjo2ncuDGXL1/G1dX1ibZtU+ozrOwe6vp7yQX/BZ/mdwjPpJi3Y/I7BBGRZ1auv9179+4NwPjx47PsMxgMJnfCladbSEgIV65cITIyMr9DeaCIiAgGDx7MlStXTLbv2bMHBweH/AlKRERE5CmV6yT/7iUzRR7FjRs3sLa2fujjixQpkofRiIiIiJiHXM/Jl/wRGBjI22+/zeDBgylYsCDFihVj0aJFXLt2je7du+Pk5ETFihXZsGEDAOnp6fTs2ZNy5cphZ2dH5cqVmTdvnrG+sLAwlixZwjfffIPBYMBgMBAdHQ3Ab7/9RqdOnXBzc8PBwQEfHx927dplEs/SpUvx8PDAxcWFN954g6tXr+a4HwMGDGDw4MEULlyYoKAgAGbPnk2NGjVwcHCgdOnS9O/fn5SUFODWdJbu3buTlJRkjDUsLAy4NV1n7ty5xvoNBgOLFy+mbdu22Nvb4+npydq1a01iWLt2LZ6entja2tK4cWOWLFmCwWDI8ivB/cTExBAYGIi9vT0FCxYkKCiIy5cvA5CamsrAgQMpWrQotra2vPjii+zZs8fk+G+//ZZKlSphZ2dH48aNiYuLy9LGjh07aNiwIXZ2dpQuXZqBAwdy7do1AD7//HMcHR05efKksXz//v2pUqUK169fz1EfRERExLzleiT/XtN07jRmzJiHDkayt2TJEoYPH87u3bv56quv6NevH2vWrKFt27a89957zJkzh65duxIfH0+BAgUoVaoU//3vfylUqBA//vgjb775Ju7u7nTo0IHQ0FCOHj1KcnIy4eHhALi5uZGSkkJAQAAlS5Zk7dq1FC9enP3795v8gnP69GkiIyNZt24dly9fpkOHDkydOpVJkybluB/9+vUjJub/5ttaWFgwf/58ypUrx5kzZ+jfvz/Dhw/no48+ws/Pj7lz5zJmzBiOHz8OgKOj433rHzduHNOnT2fGjBksWLCALl268Ouvv+Lm5sbZs2dp3749gwYNolevXhw4cIDQ0NAcvwaxsbE0adKEHj16MG/ePKysrNiyZYtxmtrw4cNZtWoVS5YsoWzZskyfPp2goCBOnTqFm5sb586do127drz11lu8+eab7N27l6FDh5q0cfr0aZo1a8bEiRP57LPPuHDhAgMGDGDAgAGEh4cTHBzMunXr6NKlCz/++CObNm1i8eLF7Ny5876rXqWmppKammp8npycnOM+i4iIyLPHkJmZmZmbA2rVqmXyPC0tjbNnz2JlZUWFChXYv39/ngYotwQGBpKens727duBWyP1Li4utGvXjs8//xyA8+fP4+7uzs6dO6lfv36WOgYMGMD58+dZuXIlcO85+QsXLiQ0NJS4uDjc3Nyy1BEWFsaMGTM4f/48Tk5OwK3Edtu2bfz000856kdycvID3ycrV66kb9++/PXXX8D95+TffeGtwWBg1KhRTJgwAYBr167h6OjIhg0baNasGe+++y7r16/n559/NtYxatQoJk2alKMLXzt37kx8fDw7duzIsu/atWsULFiQiIgIOnfuDNz6/3E7xmHDhvHee+/xzTff8MsvvxiPe/fdd5k2bZqx/V69emFpacmnn/7fxZo7duwgICCAa9euYWtry+XLl/Hy8qJVq1asXr2agQMH8t5779037rCwMMaNG5dle91pdXXhrTy1dOGtiIip5ORkXFxcSEpKwtnZOduyuf52P3DgwD0bDAkJoW3btrmtTnLBy8vL+G9LS0sKFSpEjRo1jNuKFSsGQGJiIgAffvghn332GfHx8fz999/cuHEDb2/vbNuIjY2lVq1a90zwb/Pw8DAm+ADu7u7GNnOiTp06WbZ9//33TJkyhWPHjpGcnMzNmzf5559/uH79eq7vyXDneXJwcMDZ2dkY3/Hjx/H19TUpX7du3RzXHRsby+uvv37PfadPnyYtLQ1/f3/jtgIFClC3bl2OHj0K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i4hZSE5OxsXFhfUN/JTkS7aU5Is8Xf755x/Onj1LuXLlsLW1ze9w5DHI7jW+/f2dlJT0wOvrdOGtiIiIiIiZUZIvIiIi8ozRRAzzlVevrZJ8ERERkWfE7WWar1+/ns+RyONy+7W9e0nu3NJkXBEREZFnhKWlJa6ursabLNrb22MwGPI5KskLmZmZXL9+ncTERFxdXbG0tHyk+pTki4iIiDxDihcvDmBM9MW8uLq6Gl/jR6EkX0REROQZYjAYcHd3p2jRove887o8uwoUKPDII/i3KckXEREReQZZWlrmWUIo5kdJvshz7MWNGx64zq6IiIg8e7S6joiIiIiImVGSLyIiIiJiZjRdR+Q5dPtGG8nJyfkciYiIiOTU7e/tnNwwS0m+yHPo6tWrAJQuXTqfIxEREZHcunr1Ki4uLtmWMWTqvsgiz52MjAz++OMPnJycstxExdfXlz179jywjpyUy65McnIypUuX5ty5c2Z18W9Oz9+z0nZe1PmwdeT2OL13H43eu3lXh967T9bz9N7NzMzk6tWrlChRAguL7GfdayRf5DlkYWFBqVKl7rnP0tIyRx/+OSmXkzLOzs5m9WWT0/P3rLSdF3U+bB25PU7v3Uej927e1aH37pP1vL13HzSCf5suvBURE2+99VaelctpXeYkP/v8ONrOizofto7cHqf37qPRezfv6tB798nSe/feNF1HRPJFcnIyLi4uJCUlmdWIkpg/vXflWaX37vNFI/kiki9sbGwYO3YsNjY2+R2KSK7ovSvPKr13ny8ayRcRERERMTMayRcRERERMTNK8kVEREREzIySfBERERERM6MkX0RERETEzCjJFxERERExM0ryReSpdvz4cby9vY0POzs7IiMj8zsskRw5e/YsjRs3plq1atSoUYNr167ld0giOeLh4YGXlxfe3t40btw4v8ORh6AlNEXkmZGSkoKHhwe//vorDg4O+R2OyAMFBAQwceJEGjZsyKVLl3B2dsbKyiq/wxJ5IA8PDw4fPoyjo2N+hyIPSZ80IvLMWLt2LU2aNFGCL8+EX375hQIFCtCwYUMA3Nzc8jkiEXmeaLqOiDySbdu20apVK0qUKIHBYLjnVJoPP/wQDw8PbG1tqVevHrt3736otr7++ms6duz4iBGL3PK437snT57E0dGRVq1aUbt2bSZPnpyH0cvz7El87hoMBgIC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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# log scale same plot\n",
"sns.barplot(y='function', x='time', hue='implementation', data=df, palette=colors)\n",
"plt.xscale('log')\n",
"plt.xlabel('time (log scale)')"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th>implementation</th>\n",
" <th>c</th>\n",
" <th>python</th>\n",
" <th>rust</th>\n",
" <th>python/c</th>\n",
" <th>rust/c</th>\n",
" <th>rust/python</th>\n",
" </tr>\n",
" <tr>\n",
" <th>function</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>damerau_levenshtein_distance</th>\n",
" <td>0.043844</td>\n",
" <td>3.289454</td>\n",
" <td>0.296865</td>\n",
" <td>75.025670</td>\n",
" <td>11.080637</td>\n",
" <td>0.090248</td>\n",
" </tr>\n",
" <tr>\n",
" <th>hamming_distance</th>\n",
" <td>0.008722</td>\n",
" <td>0.046529</td>\n",
" <td>0.026441</td>\n",
" <td>5.334908</td>\n",
" <td>1.759755</td>\n",
" <td>0.568261</td>\n",
" </tr>\n",
" <tr>\n",
" <th>jaro_similarity</th>\n",
" <td>0.024690</td>\n",
" <td>0.831646</td>\n",
" <td>0.086272</td>\n",
" <td>33.683493</td>\n",
" <td>9.639818</td>\n",
" <td>0.103736</td>\n",
" </tr>\n",
" <tr>\n",
" <th>jaro_winkler_similarity</th>\n",
" <td>0.019181</td>\n",
" <td>0.392573</td>\n",
" <td>0.051057</td>\n",
" <td>20.466952</td>\n",
" <td>7.688976</td>\n",
" <td>0.130056</td>\n",
" </tr>\n",
" <tr>\n",
" <th>levenshtein_distance</th>\n",
" <td>0.015507</td>\n",
" <td>0.465188</td>\n",
" <td>0.053257</td>\n",
" <td>29.999158</td>\n",
" <td>8.734797</td>\n",
" <td>0.114485</td>\n",
" </tr>\n",
" <tr>\n",
" <th>match_rating_codex</th>\n",
" <td>0.021556</td>\n",
" <td>0.059770</td>\n",
" <td>0.039871</td>\n",
" <td>2.772765</td>\n",
" <td>1.499091</td>\n",
" <td>0.667071</td>\n",
" </tr>\n",
" <tr>\n",
" <th>match_rating_comparison</th>\n",
" <td>0.031344</td>\n",
" <td>0.215691</td>\n",
" <td>0.074495</td>\n",
" <td>6.881499</td>\n",
" <td>2.895385</td>\n",
" <td>0.345377</td>\n",
" </tr>\n",
" <tr>\n",
" <th>metaphone</th>\n",
" <td>0.034497</td>\n",
" <td>0.247509</td>\n",
" <td>0.047370</td>\n",
" <td>7.174855</td>\n",
" <td>5.225045</td>\n",
" <td>0.191386</td>\n",
" </tr>\n",
" <tr>\n",
" <th>nysiis</th>\n",
" <td>0.022129</td>\n",
" <td>0.195079</td>\n",
" <td>0.062024</td>\n",
" <td>8.815730</td>\n",
" <td>3.145225</td>\n",
" <td>0.317942</td>\n",
" </tr>\n",
" <tr>\n",
" <th>soundex</th>\n",
" <td>0.026357</td>\n",
" <td>0.138427</td>\n",
" <td>0.039689</td>\n",
" <td>5.252077</td>\n",
" <td>3.487754</td>\n",
" <td>0.286717</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
"implementation c python rust python/c \\\n",
"function \n",
"damerau_levenshtein_distance 0.043844 3.289454 0.296865 75.025670 \n",
"hamming_distance 0.008722 0.046529 0.026441 5.334908 \n",
"jaro_similarity 0.024690 0.831646 0.086272 33.683493 \n",
"jaro_winkler_similarity 0.019181 0.392573 0.051057 20.466952 \n",
"levenshtein_distance 0.015507 0.465188 0.053257 29.999158 \n",
"match_rating_codex 0.021556 0.059770 0.039871 2.772765 \n",
"match_rating_comparison 0.031344 0.215691 0.074495 6.881499 \n",
"metaphone 0.034497 0.247509 0.047370 7.174855 \n",
"nysiis 0.022129 0.195079 0.062024 8.815730 \n",
"soundex 0.026357 0.138427 0.039689 5.252077 \n",
"\n",
"implementation rust/c rust/python \n",
"function \n",
"damerau_levenshtein_distance 11.080637 0.090248 \n",
"hamming_distance 1.759755 0.568261 \n",
"jaro_similarity 9.639818 0.103736 \n",
"jaro_winkler_similarity 7.688976 0.130056 \n",
"levenshtein_distance 8.734797 0.114485 \n",
"match_rating_codex 1.499091 0.667071 \n",
"match_rating_comparison 2.895385 0.345377 \n",
"metaphone 5.225045 0.191386 \n",
"nysiis 3.145225 0.317942 \n",
"soundex 3.487754 0.286717 "
]
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pivoted = df.pivot_table(index=['function'], columns=['implementation'], values='time')\n",
"pivoted['python/c'] = pivoted['python'] / pivoted['c']\n",
"pivoted['rust/c'] = pivoted['python'] / pivoted['rust']\n",
"pivoted['rust/python'] = pivoted['rust'] / pivoted['python']\n",
"pivoted[\"c\"] *= 100000 # multiply by 100000 to get time in microseconds\n",
"pivoted[\"python\"] *= 100000\n",
"pivoted[\"rust\"] *= 100000\n",
"pivoted\n"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 0, 'Ratio (X times slower than C) \\n (lower is better)')"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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2LZtGxo3bozIyMgKjxy/yZw5czBz5kxERETA3t4enTt3xt69e1G3bt1yz1u8eDEMDAzg4eEBPz8/+Pj4yIyaA8CiRYtgaWmJNm3aYODAgQgJCYGWltZbxWlhYYHk5GQUFRXhk08+gYODA4KDg6Gvry+TnLZv3x6GhoZIT0/HwIEDZdrw8fHBnj17cOjQIbi5uaFVq1ZYsmSJmKhWhJqaGmbMmAFHR0e0bdsWysrK2LJlS4XP9/DwwJgxY9C/f38YGxtj/vz5AICoqCgEBARgypQpsLOzQ48ePZCSklLmlJN3Vd7vW2n09fWxdu1aeHp6wtHREYcPH8Yvv/wCIyMjAC8ezM7IyED9+vXF9fW//vprNGvWDD4+PvD29oaZmRl69OhR6Vh37NgBNzc3+Pv7o3Hjxpg2bZr4qYGjoyOSkpJw9epVtGnTBi4uLpg1a5b4ADMRERGRRHh9AjkRKbzc3Fzo6elhr7sHV9d5DVfXISKiD9XL/79zcnKgq6tbbl25juQTEREREVHVY5L/Hs2bN09m2cNXN19fX3mH91HLzMws895KpdJqW+aUiIiI6EPEz+nfozFjxojfVvu6Ny2bSOWzsLBAampquceJiIiIagom+e+RoaEhDA0N5R2GQlJRUeGSkkRERET/H6frEBEREREpGCb5REREREQKhkk+EREREZGCYZJPRERERKRg+OAtUQ3W+sD+N36ZBhEREX18OJJPRERERKRgmOQTERERESkYJvlERERERAqGST4RERERkYJhkk9EREREpGCY5BMRERERKRgm+URERERECobr5BPVYJ1WdYKKpnzfBpInJMv1+kRERIqII/lERERERAqGST4RERERkYJhkk9EREREpGCY5BMRERERKRgm+URERERECoZJPhERERGRgmGST0RERESkYJjkExEREREpGCb5CsTb2xvBwcHyDqNCoqOjoa+vL+8wYGNjg6VLl4r7EokEsbGxcouHiIiIqCowySe56N+/P65evSrvMErIysqCr69vheryDwIiIiL6UMn3++ypxtLU1ISmpqa8wyjBzMxM3iEQERERvTOO5CuY4uJiTJs2DYaGhjAzM0NoaKh4bPHixXBwcIC2tjYsLS0xbtw45OXlicdfTqHZs2cP7OzsoKWlhT59+uDJkyeIiYmBjY0NDAwMMHHiRBQVFYnn2djY4JtvvkFA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B0RGRkJZWRkA4OPjgz179uDQoUNwc3NDq1atsGTJElhbW1fqOkRERKS4JIJQzpqGRB+wx48fo3bt2li0aBGGDx8u73A+Krm5udDT08Nedw9oq7z5Az2vo0nvISoiIiIqz8v/v3NycqCrq1tuXU7XoY/G+fPnceXKFbRo0QI5OTkIDw8HAHTv3l3OkRERERF9WJjk00dl4cKFSE9Ph5qaGpo3b45jx46hVq1aOHbsGHx9fcs879Vv9iUiIiJSdEzy6aPh4uKCs2fPlnrM1dUVqamp7zcgIiIiog8Uk3xSCJqamlxSkoiIiOj/4+o6REREREQKhkk+EREREZGCYZJPRERERKRgmOQTERERESkYPnhLVIO1PrD/jV+mQURERB8fjuQTERERESkYJvlERERERAqGST4RERERkYJhkk9EREREpGCY5BMRERERKRgm+URERERECoZJPhERERGRguE6+UQ1WKdVnaCiybcBoneVPCFZ3iEQEcngSD4RERERkYJhkk9EREREpGCY5BMRERERKRgm+URERERECoZJPhERERGRgmGST0RERESkYJjkExEREREpGCb5REREREQKhkk+VbnAwED06NFD3mGUSSKRIDY29p3aeL2P3t7eCA4Ofqc2ASA0NBTOzs7v3A4RERHVbPyqS6pyy5YtgyAI8g6jTFlZWTAwMHinNqqrjyEhIZgwYYK4HxgYiIcPH77zHyVERERUszDJpyqnp6f3TucXFhZCVVW1iqIpyczM7J3beNc+vk4QBBQVFUEqlUIqlVZp20RERFTzcLoOVblXp7IcOHAArVu3hr6+PoyMjNCtWzfcuHFDrJuRkQGJRIKtW7fCy8sLGhoa2LRpE4qLixEeHo46depAXV0dzs7OOHDgQIWuX1BQgKCgIJibm0NDQwPW1taIiIgQj786Xefl9X/++We0adMGmpqacHNzw9WrV5GSkgJXV1dIpVL4+vri7t27pfaxNBs2bICrqyt0dHRgZmaGgQMHIjs7WzyemJgIiUSC/fv3o3nz5lBXV8fx48dlpuuEhoYiJiYGu3fvhkQigUQiQWJiItq3b4+goCCZ6929exdqampISEio0D0iIiIixcYkn6rV48ePMXnyZJw5cwYJCQlQUlJCz549UVxcLFPviy++wKRJk5CWlgYfHx8sW7YMixYtwsKFC3Hx4kX4+Pjg008/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RKRwKr26TsuWLdGyZUssX75cpnzChAlISUmp0BQIIpKvl0/nc3UdIiKij0dlVtep9P/u8+fPR9euXXH48GFxdZKTJ0/izp072Ldv39tFTEREREREVabS03W8vLxw9epV9OzZEw8fPsTDhw/Rq1cvpKenl/uAKFF18vX1lVlS8tVt3rx58g6PiIiI6L16q8/pLSws+IAtfVDWrVuHp0+flnrM0NDwPUdDREREJF8VSvIvXryIpk2bQklJCRcvXiy37utfjET0PtSuXVveIRARERF9MCqU5Ds7O+Off/6BiYkJnJ2dZb6851USiaTE2uFERERERPR+VSjJv3XrlvgNqbdu3arWgIiIiIiI6N1UKMl/de3y27dvw8PDAyqvLbv3/PlznDhxotrWOSciIiIiooqp9Oo67dq1K/VLr3JyctCuXbsqCYqIiIiIiN5epVfXEQQBEomkRPm9e/egra1dJUER0fvR+sD+Cn/7MREREX08Kpzk9+rVC8CLh2sDAwOhrq4uHisqKsLFixfh4eFR9RESEREREVGlVDjJ19PTA/BiJF9HRweampriMTU1NbRq1QojR46s+giJiIiIiKhSKpzkR0VFAQBsbGwwdepUaGlpVVtQRERERET09ir94G1AQAD++uuvEuXXrl1DRkZGVcRERERERETvoNJJfmBgIE6cOFGi/NSpUwgMDKyKmIiIiIiI6B1UOsk/f/48PD09S5S3atUKqampVRETERERERG9g0ovoSmRSPDo0aMS5Tk5OSgqKqqSoIjo/ei0qhNUNCv9NiAjeUJyFUVDREREVaXSI/lt27ZFRESETEJfVFSEiIgItG7dukqDIyIiIiKiyqv0EN63336Ltm3bws7ODm3atAEAHDt2DLm5ufj111+rPEAiIiIiIqqcSo/kN27cGBcvXkS/fv2QnZ2NR48eISAgAFeuXEHTpk2rI0YiIiIiIqqEt5qMa2FhgXnz5lV1LEREREREVAXeKsl/+PAhTp8+jezsbBQXF8scCwgIqJLAiIiIiIjo7VQ6yf/ll18waNAg5OXlQVdXFxKJRDwmkUiY5BMRERERyVml5+RPmTIFw4YNQ15eHh4+fIgHDx6I2/3796sjRiIiIiIiqoRKJ/l//fUXJk6cCC0treqIh4iIiIiI3lGlk3wfHx+cOXOmOmIhIiIiIqIqUOk5+V27dsXUqVNx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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# convert back to long format\n",
"df = pivoted.reset_index()\n",
"df = pd.melt(df, id_vars=['function'], value_vars=[\"python/c\", \"rust/c\"])\n",
"sns.barplot(x='value', y='function', hue=\"implementation\", data=df, palette=[green, red])\n",
"# to add a label to the x axis\n",
"plt.xlabel(\"Ratio (X times slower than C) \\n (lower is better)\")\n",
"#sns.barplot(x='function', y='value', data=df)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.7"
}
},
"nbformat": 4,
"nbformat_minor": 1
}