Skip to content

Instantly share code, notes, and snippets.

@kevinheavey
Last active January 25, 2022 17:19
Show Gist options
  • Save kevinheavey/eb97728437ebd0fc9bdbd94da61347f5 to your computer and use it in GitHub Desktop.
Save kevinheavey/eb97728437ebd0fc9bdbd94da61347f5 to your computer and use it in GitHub Desktop.
pyheck benchmark
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 23,
"id": "46183e23",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:title={'center':'Execution time relative to pyheck'}, xlabel='task'>"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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gUsuuYQHH3yQOXPmsP/++y937mrpvIcddhj33HMPv/vd7xgwYACbbbbZOn4H6x93QUstrOc5d7fYuhaO37/F1qXq9sADD/D666/TsWNHJk+ezLXXXrvSPG+99RadOnWia9euvPrqq9xzzz0MHz68wfV16NCBkSNHcsopp3DNNdes4+rXT7aAJakKDB06lKOPPpqamhoOO+wwBg4cuNI8/fr1Y5dddmGnnXbiuOOOY8iQIatc55gxY4gIRowYsa7KXq/ZApakCvL2228DhV7L8+bNA2Ds2LENdpIqnafOpEmTGlzvwoULV5o2bdo0jjvuONq2bbtWNathBrAkaSWHHHIIzz33HA899FDuUqqWASxJWsmdd96Zu4Sq5zFgSZIyMIAlScrAAJYkKQMDWJKkDOyEJalsteRFTaBpFzb57Gc/y5/+9KdVzvPHP/6Rk08+mfbt23PzzTdz+OGHr3S6T1NMmjSJESNG0KNHD6Bw+cevf/3r7Ljjjmu8LlUeW8CSVGJ14Qtw44038s1vfpPa2lo6duzY7NeaNGkSr7zySv3jq6++2vBdjxjAklSibsD7hx9+mOHDhzN69Gh69erFmDFjSClx9dVXc9ttt3HhhRcyZsyY5ZZdunQpZ511FoMGDWLnnXfml7/8Zf1zF198MX379qVfv36cc8453H777cyaNYsxY8ZQU1PDe++9x/Dhw5k1axYAN998M3379qVPnz6cffbZy9X3ne98h379+rHbbrvx6quvtsJW0bpgAEtSI5588kn++7//m6effprnn3+eRx99lHHjxnHQQQfx4x//mBtvvHG5+a+55hq6du3KzJkzmTlzJhMmTOCFF17gnnvuYfLkycyYMYPZs2fzrW99i9GjRzNw4EBuvPHGlVrSr7zyCmeffTYPPfQQtbW1zJw5k8mTJwPwzjvvsNtuuzF79myGDRvGhAkTWnOTqAUZwJLUiF133ZWtttqKNm3aUFNT0+DlGkvdf//9XH/99dTU1DB48GBee+01FixYwJQpUzj22GPZaKONANh0001XuZ6ZM2cyfPhwunfvTrt27RgzZgxTp04FYIMNNuCAAw4AYMCAAautSeXLTliS1IgNN9yw/n7btm35+OOPVzl/SonLLruMkSNHLjf93nvvXWm4wNWtpzHt27evX1dTalL5sgUsSS1k5MiRXHHFFXz00UcA/PnPf+add95hxIgRXHvttbz77rsAvP766wB06dKFJUuWrLSewYMH88gjj7B48WKWLl3KzTffzB577NF6b0StwhawpLJVaeMhjxs3joULF9K/f39SSnTv3p3JkyczatQoamtrGThwIBtssAGf//zn+eEPf8jYsWM5+eST6dixI9OnT69fzxZbbMFFF13EnnvuSUqJz3/+83zhC1/I+M60LsSqdnW0tIEDB6a6Hn5StWrJc1crLYDW1vz58+ndu3fuMqRmaej7GxGPp5RWHpwZd0FLkpTFagM4IraOiD9ExPyIeCoivlqcfn5E/C0iaou3z6/7ciVJqg5NOQb8MfCNlNITEdEFeDwiHig+d2lK6ZJ1V54kSdVptQGcUvo78Pfi/SURMR/Ycl0XJklSNVujY8AR0RPYBZhRnHR6RMyJiGsjYpNGljkxImZFxKxFixatXbWSJFWJJgdwRHQG7gC+llJ6C7gC+DRQQ6GF/JOGlkspXZVSGphSGti9e/e1r1iSpCrQpPOAI6I9hfC9MaX0G4CU0qslz08AfrdOKpS0/jq/awuv783VzuJwhGuuZ8+ezJo1i3bt2nHTTTdx6qmnAoVrWp9xxhncfvvtmStctaZ85utCU3pBB3ANMD+l9F8l07come0QYM2/fZJUZqptOMKxY8fy8MMPt+g6G/PGG29w+eWX1z/u0aPHGoVvSolly5ati9JWKUf4QtN2QQ8Bjgb2WuGUo4sjYm5EzAH2BM5cl4VKUmtYH4cj7Ny5M2effTYDBgxgn3324bHHHmP48OFst9123HXXXUDhx8Lpp59ev8wBBxywUrCfc845PPfcc9TU1HDWWWexcOFC+vTpU7/8F77wBUaNGsUOO+zABRdcAMDChQvp3bs3p556Kv379+ell17irLPOok+fPvTt25dbb7210W0I8NxzzzFq1CgGDBjA5z73OZ555hkAfv3rX9OnTx/69evHsGHDAHjqqafYddddqampYeedd2bBggX17x8a/8wBfv/739OrVy+GDh3KGWecUT8gxtpoSi/oaUBDVxH//Vq/uiSVsSeffJKnnnqKHj16MGTIkPrhCKdNm8YBBxzA6NGjlxuNqHQ4wg8++IAhQ4YwYsQInnnmmfrhCDfaaCNef/11Nt10U37+859zySWXMHDg8hdKqhuO8PHHH2eTTTZhxIgRTJ48mYMPPrh+OMIf/OAHfOtb32LChAmce+65a/U+33nnHYYPH86PfvQjDjnkEM4991weeOABnn76aY455hgOOuigJq1n/PjxzJs3j9raWoCVRmp67LHHmDdvHhtttBGDBg1i//33p1u3bjz77LNMnDiRyy+/nDvuuIPa2lpmz57N4sWLGTRoEMOGDaO2tnalbQhw4okncuWVV7L99tszY8YMTj31VB566CEuvPBC7rvvPrbcckveeOMNAK688kq++tWvMmbMGD788EOWLl260nto6DMfOHAgJ510ElOnTmXbbbflyCOPbPa2LuW1oCWpEXXDEQL1wxEOHTq00fnvv/9+5syZU7/b9c0331zr4QiB+uEIDz744JWGI3zggQdWWv6+++6rbzW/+OKLTJs2jc6dO7PhhhsyY8aMlebfYIMNGDVqFAB9+/Zlww03pH379vTt27dFhzvcd9992WyzzQA49NBDmTZtGgcffDDbbLMNu+22GwDTpk3jyCOPpG3btmy++ebssccezJw5k0ceeWSlbfj222/zpz/9icMPP7z+NT744AMAhgwZwtixY/niF7/IoYceCsDuu+/OD37wA15++WUOPfRQtt9++5VqbOgz79y5M9tttx3bbrstAEceeSRXXXXVWm8PA1iSGlGpwxGOHDmyvoaxY8cyduxYhg8f3qR1tmnTpv59t2nTpn797dq1W+747Pvvv9/k91NnxW1Q97hTp0710xp77ymllZZftmwZn/jEJ+pb3KWuvPJKZsyYwd13301NTQ21tbUcddRRDB48mLvvvpuRI0dy9dVXs9deey23XEOf+boaM8FrQUtSC6nm4Qh79uxJbW0ty5Yt46WXXuKxxx5baZ7G3k+dBx54gNdff5333nuPyZMnM2TIkJXmGTZsGLfeeitLly5l0aJFTJ06lV133bXBbbjxxhuz7bbb8utf/xoohPTs2bOBwrHhwYMHc+GFF9KtWzdeeuklnn/+ebbbbjvOOOMMDjroIObMmdOk996rVy+ef/75+r0Bpcel14YtYEnlqwmnDZWTah6OcMiQIWy77bb1HcP69++/0jybbbYZQ4YMoU+fPuy3336cdtppyz0/dOhQjj76aP7yl79w1FFHMXDgwJV2cR9yyCFMnz6dfv36ERFcfPHFfOpTn2p0G954442ccsopfP/73+ejjz7iS1/6Ev369eOss85iwYIFpJTYe++96devH+PHj+eGG26gffv2fOpTn+K73/1uk957x44dufzyyxk1ahTdunVj1113bfZ2LOVwhFILczjC5nM4wuo1adIkZs2axc9//vPcpTTL22+/TefOnUkpcdppp7H99ttz5pnLn/zjcISSJLWwCRMmUFNTw0477cSbb77JSSedtNbrdBe0JGmdq+sMVqnOPPPMlVq8a8sWsCRJGRjAkiRlYABLkpSBASxJUgZ2wpJUtvpe17dF1zf3mLktuj4oXMj/7bffLpv1qHLYApYkKQMDWJJKLFy4kF69enHMMcew8847M3r0aO6++24OOeSQ+nkeeOCB+gv8Aw0OD7ho0SIOO+wwBg0axKBBg3j00UeBwgUdjj32WPr27cvOO+/MHXfcsdzrL168mN1335277265C7qoPBnAkrSCZ599lhNPPJE5c+aw8cYb8/TTTzN//nwWLVoEwMSJEzn22GMB6ocHnD17NsOGDWPChAkAfPWrX+XMM89k5syZ3HHHHYwbNw6A733ve3Tt2pW5c+cyZ86c5QYDePXVV9l///258MIL2X//9esqaOsjjwFL0gq23nrr+oECvvzlL/Ozn/2Mo48+mhtuuIFjjz2W6dOnc/311wM0OjzglClTePrpp+vX+dZbb7FkyRKmTJnCLbfcUj99k002AeCjjz5i77335he/+EX2gRfUOgxgSVpBQ8PmHXvssRx44IF06NCBww8/nHbtCn8+GxsecNmyZUyfPp2OHTsut66GhtWDwnB/AwYM4L777jOA1xPugpakFbz44ov1oxPdfPPNDB06lB49etCjRw++//3vN+mSiiNGjFhu4IG6MWtXnP7Pf/4TKIT8tddeyzPPPMP48eNb7s2obNkCllS21sVpQ03Ru3dvrrvuOk466SS23357TjnlFADGjBnDokWL2HHHHVe7jp/97Gecdtpp7Lzzznz88ccMGzaMK6+8knPPPZfTTjuNPn360LZtW84777z6Dl1t27bllltu4cADD2TjjTfm1FNPXafvU3kZwJK0gjZt2nDllVeuNH3atGmccMIJy00rPXd39OjRjB49GoBu3bo1OHB7586due6661aaXreeDTbYgPvuu2+t6ldlMIAlqQkGDBhAp06d+MlPfpK7FFUJA1iSSvTs2ZN58+atNP3xxx/PUI2qmZ2wJEnKwACWJCkDA1iSpAwMYEmSMrATlqSyNb9X7xZdX+9n5rfo+qB6hyM8//zz6dy5M9/85jeZNGkSI0aMoEePHgCMGzeOr3/96006HzqX7373uwwbNox99tkndymNsgUsSRXm4YcfbtLVuFrKpEmTeOWVV+ofX3311WsUvnWX52xNF154YVmHLxjAklSvoaEI3333XR588MGKG45w7NixnHLKKey5555st912PPLIIxx33HH07t17ufDu3Llz/f3bb799pWC//fbbmTVrFmPGjKGmpob33nuP4cOHM2vWrPrlv/GNb9C/f3/23nvv+hGjhg8fzre//W322GMPfvrTn/Lggw+yyy670LdvX4477jg++OADAGbOnMlnP/tZ+vXrx6677sqSJUtYunQpZ511FoMGDWLnnXfml7/8JQB///vfGTZsGDU1NfTp04c//vGPLF26lLFjx9KnTx/69u3LpZdeWv/+b7/9dqBwatl5551H//796du3L88880z9Z7TvvvvSv39/TjrpJLbZZhsWL168Vtt9TRjAklRixaEIL7/8cvbaa6+KHI7wn//8Jw899BCXXnopBx54IGeeeSZPPfUUc+fOrb829eqMHj2agQMHcuONN1JbW7vS4BLvvPMO/fv354knnmCPPfbgggsuqH/ujTfe4JFHHuG0005j7Nix3HrrrcydO5ePP/6YK664gg8//JAjjjiCn/70p8yePZspU6bQsWNHrrnmGrp27crMmTOZOXMmEyZM4IUXXuCmm25i5MiR1NbWMnv2bGpqaqitreVvf/sb8+bNY+7cufWfy4q6devGE088wSmnnMIll1wCwAUXXMBee+3FE088wSGHHMKLL77YvA3dTAawJJVYcSjCadOmERH1wxG+8cYbTJ8+nf322w9YeTjChQsXAoXhCE8//XRqamo46KCDlhuO8LTTTqt/vRWHI7z44ovZd999G6xt8ODB1NTUMG7cOO666y5qamqoqalp9NKVBx54IBFB37592Xzzzenbty9t2rRhp512qq9zbbVp04YjjjgC+Nf2qlM3/dlnn2XbbbflM5/5DADHHHMMU6dO5dlnn2WLLbZg0KBBAGy88ca0a9eO+++/n+uvv56amhoGDx7Ma6+9xoIFCxg0aBATJ07k/PPPZ+7cuXTp0oXtttuO559/nq985Svce++9bLzxxg3WWbfHovQzmjZtGl/60pcAGDVqVP1n0VrshCVJJRoaihAoi+EIZ8yYARSOAU+aNIlJkyat8r1suOGGQCEk6+7XPa6rs7SW999/f5Xra4rS9XXq1AkovOeGNLYtUkpcdtlljBw5cqXnpk6dyt13383RRx/NWWedxX/8x38we/Zs7rvvPn7xi19w2223ce211660XN37L/2MGqurtdgClqQSDQ1FCFTtcISbb7458+fPZ9myZdx5550NztOlSxeWLFnS4HPLli2rP9Z600031W+vUr169WLhwoX85S9/AeBXv/oVe+yxB7169eKVV15h5syZACxZsoSPP/6YkSNHcsUVV/DRRx8B8Oc//5l33nmHv/71r3zyk5/khBNO4Pjjj+eJJ55g8eLFLFu2jMMOO4zvfe97PPHEE01+70OHDuW2224D4P7776//LFqLLWBJZWtdnDa02tdsZChCqM7hCMePH88BBxzA1ltvTZ8+fRo8FWrs2LGcfPLJdOzYsf7HSZ1OnTrx1FNPMWDAALp27drgCFAdOnRg4sSJHH744Xz88ccMGjSIk08+mQ022IBbb72Vr3zlK7z33nt07NiRKVOmMG7cOBYuXEj//v1JKdG9e3cmT57Mww8/zI9//GPat29P586duf766/nb3/7Gsccey7JlywC46KKLmvzezzvvPI488khuvfVW9thjD7bYYgu6dOmyhluw+aI1m+ADBw5MdT3npGrV85y1671aauH4te+IU0nmz59P794te+7vmli4cCEHHHBAg4MxAJx++unssssuHH/88a1cWfkqt/OX18QHH3xA27ZtadeuHdOnT+eUU05pcue0hjT0/Y2Ix1NKAxua3xawJDWBwxFWnxdffJEvfvGLLFu2jA022KC+B3trMYAlqaixoQjB4QgbU6mtX4Dtt9+eJ598Mtvr2wlLUlnJ3TNVao7mfG8NYEllo0OHDrz22muGsCpKSonXXnuNDh06rNFy7oKWVDa22morXn755forTkmVokOHDmy11VZrtIwBLKlstG/fnm233TZ3GVKrcBe0JEkZGMCSJGVgAEuSlIEBLElSBgawJEkZGMCSJGVgAEuSlIEBLElSBqsN4IjYOiL+EBHzI+KpiPhqcfqmEfFARCwo/rvJui9XkqTq0JQW8MfAN1JKvYHdgNMiYkfgHODBlNL2wIPFx5IkqQlWG8Appb+nlJ4o3l8CzAe2BL4AXFec7Trg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\n",
"text/plain": [
"<Figure size 576x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import requests\n",
"from json import loads\n",
"\n",
"data = requests.get(\"https://raw.githubusercontent.com/kevinheavey/pyheck/main/bench.json\").json()\n",
"\n",
"single_word = \"single_word\"\n",
"long_sentence = \"long_sentence\"\n",
"many_words = \"many_words\"\n",
"task_map = {\"snake\": single_word,\n",
" \"inflection_underscore\": single_word,\n",
" \"snake_long_sentence\": long_sentence,\n",
" \"inflection_underscore_long_sentence\": long_sentence,\n",
" \"inflection_underscore_many\": many_words,\n",
" \"snake_multiprocessing\": many_words,\n",
" \"snake_many\": many_words,\n",
" \"inflection_underscore_multiprocessing\": many_words\n",
" }\n",
"\n",
"df = (\n",
" pd.DataFrame.from_records(data)\n",
" .assign(name=lambda df: df[\"name\"].str.split(\"test_\").str[1])\n",
" .assign(library=lambda df: np.where(df[\"name\"].str.startswith(\"snake\"), \"pyheck\", \"inflection\"),\n",
" task=lambda df: df[\"name\"].map(task_map))\n",
" .assign(library=lambda df: df[\"library\"].mask(df[\"name\"].str.endswith(\"multiprocessing\"), df[\"library\"] + \" + multiprocessing\"))\n",
" .drop(columns=[\"name\"])\n",
")\n",
"by_task = df.pivot(columns=\"task\", index=\"library\", values=\"mean\")\n",
"ratios = (by_task / by_task.min()).T\n",
"ratios.plot.bar(figsize=(8, 6), title=\"Execution time relative to pyheck\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "96057555",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:pyheck-bench]",
"language": "python",
"name": "conda-env-pyheck-bench-py"
},
"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.9.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment