From 2a74be39590649afb67c022a6c1f5578f2772eaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Baylac-Jacqu=C3=A9?= Date: Wed, 30 Mar 2022 15:11:41 +0200 Subject: [PATCH] Update notebook to match alternativebit style --- .envrc | 1 + analysis-notebook/.envrc | 1 + analysis-notebook/Analysis.ipynb | 10961 ++++++++++++++++++++++++++++- analysis-notebook/default.nix | 2 +- 4 files changed, 10845 insertions(+), 120 deletions(-) create mode 100644 .envrc create mode 100644 analysis-notebook/.envrc diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..1d953f4 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use nix diff --git a/analysis-notebook/.envrc b/analysis-notebook/.envrc new file mode 100644 index 0000000..1d953f4 --- /dev/null +++ b/analysis-notebook/.envrc @@ -0,0 +1 @@ +use nix diff --git a/analysis-notebook/Analysis.ipynb b/analysis-notebook/Analysis.ipynb index 3c0e937..f952172 100644 --- a/analysis-notebook/Analysis.ipynb +++ b/analysis-notebook/Analysis.ipynb @@ -43,7 +43,12 @@ "metadata": {}, "outputs": [], "source": [ + "%config InlineBackend.figure_formats = ['svg']\n", + "\n", "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.style.use('dark_background')\n", "\n", "def toMb(b):\n", " return b * (9.537e-7)" @@ -132,7 +137,7 @@ "metadata": {}, "outputs": [], "source": [ - "def analyse_benchmark_results(i):\n", + "def analyse_benchmark_results(i, file):\n", " \"\"\"\n", " Analyse a benchmark results.\n", " \n", @@ -178,14 +183,22 @@ " compressed_file_dl_size = _compressed_file_merged.loc[_compressed_file_merged[\"_merge\"]==\"left_only\"][\"Size_after\"].sum()\n", " compressed_file_reused_size = _compressed_file_merged.loc[_compressed_file_merged[\"_merge\"]==\"both\"][\"Size_after\"].sum()\n", " compressed_file_nar_savings = (nar_dl_size - compressed_file_dl_size) / nar_dl_size\n", - " \n", - " return pd.DataFrame( data = {\n", - " \"Name\": [\"NAR\", \"Casync\", \"File\", \"Compressed File\"],\n", - " \"Closure Size (MB)\": [toMb(nar_closure_size), toMb(casync_closure_size), toMb(file_closure_size), toMb(compressed_file_closure_size)],\n", - " \"Downloaded Size (MB)\": [toMb(nar_dl_size), toMb(casync_dl_size), toMb(file_dl_size), toMb(compressed_file_dl_size)],\n", - " \"Re-used Size (MB)\": [toMb(nar_reused_size), toMb(casync_reused_size), toMb(file_reused_size), toMb(compressed_file_reused_size)],\n", - " \"DL Savings Compared to NAR (%)\": [nar_nar_savings * 100, casync_nar_savings * 100, file_nar_savings * 100, compressed_file_nar_savings * 100]\n", - " })\n", + " if file:\n", + " return pd.DataFrame( data = {\n", + " \"Name\": [\"NAR\", \"Casync\", \"File\", \"Compressed File\"],\n", + " \"Closure Size (MB)\": [toMb(nar_closure_size), toMb(casync_closure_size), toMb(file_closure_size), toMb(compressed_file_closure_size)],\n", + " \"Downloaded Size (MB)\": [toMb(nar_dl_size), toMb(casync_dl_size), toMb(file_dl_size), toMb(compressed_file_dl_size)],\n", + " \"Re-used Size (MB)\": [toMb(nar_reused_size), toMb(casync_reused_size), toMb(file_reused_size), toMb(compressed_file_reused_size)],\n", + " \"DL Savings Compared to NAR (%)\": [nar_nar_savings * 100, casync_nar_savings * 100, file_nar_savings * 100, compressed_file_nar_savings * 100]\n", + " })\n", + " else:\n", + " return pd.DataFrame( data = {\n", + " \"Name\": [\"NAR\", \"Casync\", \"Compressed File\"],\n", + " \"Closure Size (MB)\": [toMb(nar_closure_size), toMb(casync_closure_size), toMb(compressed_file_closure_size)],\n", + " \"Downloaded Size (MB)\": [toMb(nar_dl_size), toMb(casync_dl_size), toMb(compressed_file_dl_size)],\n", + " \"Re-used Size (MB)\": [toMb(nar_reused_size), toMb(casync_reused_size), toMb(compressed_file_reused_size)],\n", + " \"DL Savings Compared to NAR (%)\": [nar_nar_savings * 100, casync_nar_savings * 100, compressed_file_nar_savings * 100]\n", + " })\n", "\n", "def gen_perf_pie(dataframe, key):\n", " idx=mass_rebuild_results.query(f'Name == \"{key}\"').index[0]\n", @@ -218,7 +231,7 @@ "metadata": {}, "outputs": [], "source": [ - "mass_rebuild_results = analyse_benchmark_results(b[\"massRebuild\"])" + "mass_rebuild_results = analyse_benchmark_results(b[\"massRebuild\"], True)" ] }, { @@ -323,19 +336,1326 @@ "outputs": [ { "data": { - "image/png": "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+4B3lbO7+vXvaHtt+UlZ+1PAAIrfZ8px6BMpPiguoOht/jSv55JvUJxL8mxEtIxXPwe4tPzbd0RmTqfoGPl2Wc8sihMoOzIBuDkzV/contShyFzdI5aSJPUtETGCIiyvmT3wmvQRMZjiQ+wuuXonyKpGRPwFODEz72t0LepbDNSSpKbX0wO1pJ7NIR+SJElSBfZQS5IkSRXYQy1JkiRV0NlvYuuRNt544xwxYkSjy5AkSVIfd9dddz2TmW1+AVOvDtQjRoxg+vTpjS5DkiRJfVxEtPuNrA75kCRJkiowUEuSJEkVGKglSZKkCnr1GGpJkiSAJUuWMGfOHF599dVGl6JebsCAAQwbNow111yz0+sYqCVJUq83Z84c1l9/fUaMGEFENLoc9VKZycKFC5kzZw4jR47s9HoO+ZAkSb3eq6++ykYbbWSYViURwUYbbbTaRzoM1JIkqU8wTKsrvJH3kYFakiRJqsAx1JIkqc8ZceZvunR7j593SJduT32LPdSSJEldoF+/fowZM4YddtiBnXfemQsuuIDXXnutbo83fvz4LvnG6JtvvplDDz20Sx772muvZZdddmHnnXdm++235+KLLwbgoosu4rLLLqtc6913382HPvQhAC655BIigmnTpi2ff9VVVxER/PznP19e5zbbbMOYMWPYbrvtmDx58vJl999/f5599tnKNUEde6gjYhvgZzVNWwBfBC4r20cAjwNHZOaz5TpnAScCy4CPZub19apPkiSpKw0cOJB77rkHgPnz53P00UezaNEizj333MYW1k2WLFnCySefzB133MGwYcNYvHgxjz/+OACnnHJKlzzGl7/8Zb7whS8sn95pp5248sor2W+//QCYMmUKO++88wrrXHHFFYwdO5Z//vOfbLnllpxwwgmstdZaHHfccXz3u9/l85//fOW66haoM/MhYAxARPQDngSuAs4EpmXmeRFxZjn92YjYHjgS2AHYFPh9RGydmcvqVaMkqefq6kP2zc4hC91ryJAhTJ48md12241zzjmHxYsXc+qppzJ9+nT69+/PBRdcwD777MPBBx/Meeedx+jRo9lll114z3vewxe/+EXOPvtshg8fzlZbbcU555zDxhtvzH333cdb3/pWLr/88pVOnLvyyiv58pe/TGZyyCGH8NWvfhWAU089lTvvvJNXXnmF9773vcvD/XXXXccZZ5zBxhtvzK677rp8Oy+99BKnn3469957L0uXLuWcc85h4sSJvPLKK3zgAx/g/vvvZ7vttuOVV15Z6Tm/8MILLF26lI022giAtddem2222QaAc845h/XWW4+jjz6agw8+ePk69957L48++ijrrLMOp5xyCrNnzwbgwgsvZI899lhp+zNmzFghMO+111784Q9/YMmSJSxevJhZs2YxZsyYNl+TF198kXXXXZd+/foBMGHCBPbaa6+eHahb2Q/4e2b+IyImAuPL9kuBm4HPAhOBKZm5GHgsImYB44A/dVONkiRJXWaLLbbgtddeY/78+Vx++eVAESAffPBBDjjgAB5++GH23ntv/vCHPzBixAj69+/PbbfdBsAf//hHjj32WObNm8fdd9/NzJkz2XTTTdljjz247bbb2HPPPZc/zty5c/nsZz/LXXfdxaBBgzjggAP41a9+xWGHHcakSZPYcMMNWbZsGfvttx8zZsxg66235qSTTuKmm25iq6224n3ve9/ybU2aNIl9992XH/3oRzz33HOMGzeO/fffn4svvph11lmHGTNmMGPGjBVCeIsNN9yQCRMmMHz4cPbbbz8OPfRQjjrqKNZY4/URxptuuunyXvzvfOc73HLLLQwfPpyjjz6aj3/84+y5557Mnj2bAw88kAceeGCF7U+fPp0dd9xxhbaIYP/99+f6669n0aJFTJgwgccee2yFZY455hjWXnttHnnkES688MLlgXrQoEEsXryYhQsXLv8Q8EZ11xjqI4Ery/ubZOY8gPJ2SNm+GfBEzTpzyrYVRMTJETE9IqYvWLCgjiVLkiRVk5lAEZCPO+44ALbddluGDx/Oww8/zF577cWtt97KH//4Rw455BBefPFFXn75ZR5//PHlvbvjxo1j2LBhrLHGGowZM2b5MIoWd955J+PHj2fw4MH079+fY445hltvvRWAqVOnsuuuu7LLLrswc+ZM7r//fh588EFGjhzJqFGjiAiOPfbY5du64YYbOO+88xgzZgzjx4/n1VdfZfbs2dx6663Llxs9ejSjR49u8/n+4Ac/YNq0aYwbN47zzz+fD37wg20ud9ttt/GDH/yAH/3oRwD8/ve/5yMf+QhjxoxhwoQJPP/887zwwgsrrDNv3jwGDx680raOPPJIpkyZwpQpUzjqqKNWmn/FFVcwY8YMZs+ezfnnn88//vGP5fOGDBnC3Llz26xxddS9hzoi1gImAGetatE22nKlhszJwGSAsWPHrjRfkiSpJ3j00Ufp168fQ4YMWR6sW9ttt92YPn06W2yxBe985zt55pln+P73v89b3/rW5cusvfbay+/369ePpUuXrrCN9rb92GOPcf7553PnnXcyaNAgTjjhhOVfWNLetZYzk1/84hfLw3ytzl6feaeddmKnnXbiuOOOY+TIkVxyySUrzJ83bx4nnngi11xzDeuttx4Ar732Gn/6058YOHBgu9sdOHBgm1+4Mm7cOO677z4GDhzI1ltv3e76gwcPZtddd+Uvf/kLw4cPB4ovBOroMTurO4Z8vAv4a2Y+XU4/HRFDM3NeRAwF5pftc4DNa9YbBlT/yCBJkppOo8eML1iwgFNOOYWPfOQjRAR77703V1xxBfvuuy8PP/wws2fPZptttmGttdZi8803Z+rUqZx99tksWLCAT33qU3zqU5/q9GPtvvvufOxjH+OZZ55h0KBBXHnllZx++uk8//zzrLvuurz5zW/m6aef5ne/+x3jx49n22235bHHHuPvf/87W265JVdeeeXybR144IF861vf4lvf+hYRwd13380uu+yyvP599tmH++67jxkzZqxUx4svvsj06dMZP348APfcc8/y4NpiyZIlHHHEEXz1q19dIfwecMABfPvb3+bTn/708nVbj4Xebrvt+NrXvtbmPvjKV77CgAEDOtxPL7/8MnfffTef+cxngOLDw1NPPcWIESM6XK8zuiNQH8Xrwz0ArgGOB84rb6+uaf9pRFxAcVLiKOCObqhPkiSpsldeeYUxY8awZMkS+vfvz3HHHccnPvEJAP7jP/6DU045hZ122on+/ftzySWXLO953muvvZg2bRrrrLMOe+21F3PmzGGvvfbq9OMOHTqUr3zlK+yzzz5kJgcffDATJ04EYJdddmGHHXZgiy22WH6S34ABA5g8eTKHHHIIG2+8MXvuuSf33XcfAGeffTZnnHEGo0ePJjMZMWIE1157Laeeeiof+MAHGD16NGPGjGHcuHEr1ZGZ/Pd//zcf/vCHGThwIOuuu+5KvdO33347d955J1/60pf40pe+BMBvf/tbvvnNb3LaaacxevRoli5dyt57781FF120wrrbbrstixYt4oUXXmD99ddfYd673vWudvfPMcccw8CBA1m8eDEnnHDC8t7/u+66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\n", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 1980-01-01T00:00:00+00:00\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.4.2, https://matplotlib.org/\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", + " \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", + " \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", + " \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", + " \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", + " \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" + ], "text/plain": [ "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], "source": [ - "_ = mass_rebuild_results.plot.bar(figsize=(12,5), x=\"Name\",y=\"Downloaded Size (MB)\",title=\"Volume to Download for the Mass Rebuild Update (less is better)\", xlabel=\"\", ylabel=\"Size in MB\")" + "p = mass_rebuild_results.plot.bar(figsize=(12,5), x=\"Name\",y=\"Downloaded Size (MB)\",title=\"Volume to Download for the Mass Rebuild Update (less is better)\", xlabel=\"\", ylabel=\"Size in MB\", color=\"#ff6a00\")" ] }, { @@ -346,19 +1666,1192 @@ "outputs": [ { "data": { - "image/png": "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rFlkJjvvvDPnnHNOm+2v3pZYYgneeuuteaa98cYbjBw5ku985zsLta2I4Oijj+bcc88F4JxzzuGtt96a57XbcMMN6d+/P1dddVXjtAMPPJC7776bpZdemszkvPPOY8iQIU3u48gjj+Qb3/gGW2+9Nfvuuy+PP/44O++8Mz/96U8B+PGPf8zAgQPZbbfdALjpppt46KGHOO200xbqsTTHEWtJktSu+vTpw/jx45k4cSK33XYbt9xyy0IFmxEjRnDxxRczfvx4JkyYwLBhwz5WHbvuumubhuoJEyZw+OGH8/vf/54nn3ySCRMmsNZaa7XZ/lrr/fff/0Trv/HGG/ziF79Y6PUWXXRRRo8ezauvvtrk/CeffJK5c+dyzz33MGvWrHnmnX322YwfP57zzz+fb3/7202u/9prr/HAAw+w9dZb89hjjwHw2GOPce+99zJjxgymTJnC2LFjG0M1wE477cSYMWN4++23F/rxNMVgLUmSKrP88stz8cUXc+GFF5KZrVpn6tSprLTSSkAx+t2/f38Axo4dyxZbbMEXvvAFtthiC55++mkANttsMyZOnNi4/jbbbMPDDz/M5ZdfzuGHHw4Uo6Lf+9732GKLLVhrrbX4wx/+AMDcuXP5zne+w/rrr8/OO+/Mjjvu2Djv+OOPp3///gwcOJDvf//7H6nzrLPO4qSTTmLdddcFoFevXo2jvP/6178YMmQIAwcOZMiQIbzwwguNdRx66KFsu+22rLXWWtx9990cdNBBrLfeehx44IGN215iiSU45phj2HjjjRkyZAjTpk0D4JJLLmHw4MFsuOGG7LHHHo2B8cADD+Too49m22235Qc/+AH//Oc/2WGHHdhkk0340pe+xFNPPQXAc889x+abb87gwYM5+eSTm3z+jz/+eP75z3+y0UYbceyxx5KZHHvssWywwQYMGDCAa665psn1evXqxSGHHMJ///d/Nzl/5MiR7L///nzta19jzJgxTS6z+eab89JLLzU57w9/+AM77LADAIsssgjvvPMOc+fO5b333qNnz56ccsopnH766fOsExFss802LX5DsjBsBZEE1P/r4O6sNV+FS/rQWmutxdy5c5k6dWqrlj/qqKP4/Oc/zzbbbMMOO+zAiBEj6N27N+uuuy733HMPvXr14vbbb+fEE0/kuuuuY/jw4YwaNYrTTjuNKVOm8PLLL7PJJpvw+OOPz7PdKVOmcN999/HUU0+x6667sueeezJ69Gief/55Hn/8caZOncp6663HQQcdxGuvvcb111/PU089RUTwxhtvfKTOCRMmcMwxxzT5GA4//HAOOOAARowYwWWXXcb3vvc9brjhBgBef/117rzzTsaMGcMuu+zC/fffz69//WsGDx7M+PHj2WijjZg1axYbb7wx5557LqeffjqnnXYaF154Id/4xjc4+OCDAfjhD3/IpZdeyne/+10A/vGPf3D77bfTs2dPhgwZwi9/+UvWWWcdHnzwQb7zne9w5513csQRR3DooYdywAEHcNFFFzVZ+5lnnsmECRMYP348ANdddx3jx4/n0Ucf5dVXX2Xw4MFsvfXWjR9+ah122GEMHDiQ44477iPzrrnmGm677TaefvppLrzwQvbee++PLPPnP/+Z3Xffvcm67r//fvbcc08A1ltvPVZffXU23nhj9t9/fyZNmkRm8oUvfOEj6w0aNIh77733Y3/zUcsRa0mSVLnWjlYDnHLKKYwbN46vfe1rjBw5snGUcsaMGQwdOpQNNtiAo446qnGUetiwYVx77bUAjBo1iqFDhza53d13350ePXrQv39/XnnlFQDuu+8+hg4dSo8ePVhxxRXZdtttAVhqqaXo3bs33/rWtxg9ejSLLbbYQj3ev//97+yzzz4A7L///tx3332N83bZZRciggEDBrDCCiswYMAAevTowfrrr8/zzz8PQI8ePdhrr70A2G+//RrXnzBhAl/60pcYMGAAV1555Twj9UOHDqVnz5689dZb/O1vf2Po0KFstNFG/Od//idTpkwBinDaEGj333//Vj2W++67j7333puePXuywgor8OUvf5mHHnqoyWWXWmopDjjgAH7+85/PM/2hhx6ib9++rLHGGgwZMoRHHnmE119/vXH+sccey1prrcV+++3HiSee2OS2p0yZQt++fRvvn3/++YwfP55jjjmGk08+mdNPP50zzjiDYcOGcckllzQut/zyy/Pyyy+36rEuiMFakiRV6tlnn6Vnz54sv/zyrV5n7bXX5tBDD+WOO+7g0UcfZfr06Zx88slsu+22TJgwgT/+8Y+N5yBeZZVVWHbZZXnssce45pprGD58eJPbXHTRRRtvNwT95gJ/r169GDt2LHvssQc33HBDY7ivtf766/Pwww+36vHUntqtoY4ePXrMU1OPHj2a7Y9uWP/AAw/kwgsv5PHHH+dHP/rRPOdhXnzxxYGivWWZZZZh/PjxjT9PPvlkk7W0xsJ8KILiAMNLL710nj7qq666iqeeeop+/fqx9tpr8+abb3Ldddc1zj/77LOZNGkSP/nJTxgxYkST2+3Tp0+T552+8cYbGTRoELNmzWLChAmMGjWKK664orFN5t1336VPnz4L9RiaY7CWJEmVmTZtGt/+9rc5/PDDWx3obr755sYw98wzz9CzZ0+WWWYZZsyYwSqrrALA5ZdfPs86w4cP56yzzmLGjBkMGDCg1fVttdVWXHfddcydO5dXXnmFu+66C4C33nqLGTNmsOOOOzaOjM7v2GOP5ac//Sn/+Mc/gCLQnnfeeQBsscUWXH311QBceeWVbLXVVq2uqWFbDb3eI0eObFx/5syZrLTSSsyZM4crr7yyyXWXWmop1lxzzcZR/Mzk0UcfBWDLLbecp66mLLnkksycObPx/tZbb80111zDBx98wLRp07jnnnvYdNNNm639M5/5DMOGDePSSy9tfCzXXnstjz32GM8//zzPP/88N9544zxnBoHig8URRxzB3LlzufXWWz+y3fXWW49JkybNM23OnDlccMEFHHvssbz99tuN77GG3msoWmQ22GCDZutdGPZYS5LUjVVxTMA777zDRhtt1Hi6vf3335+jjz66cf4dd9zBqquu2nj/2muvZfPNN2+8f8UVV3DUUUex2GKL0atXL6688kp69uzJcccdx4gRIzjvvPPYbrvt5tnnnnvuyRFHHNHsAXnN2WOPPbjjjjvYYIMN+NznPsdmm23G0ksvzcyZM9ltt9149913ycwmD8gbOHAg559/PnvvvXdjqNtpp+L5/vnPf85BBx3E2WefTd++ffnNb36zUHUtvvjiTJw4kU022YSll1668YDBH//4x2y22WasscYaDBgwYJ4AXOvKK6/k0EMP5Sc/+Qlz5sxh+PDhbLjhhlxwwQXss88+XHDBBeyxxx5Nrrvsssuy5ZZbssEGG/D1r3+ds846i7///e9suOGGRARnnXUWK664Yov1H3PMMVx44YUA3HPPPayyyiqNH4qgCOtPPPFEY4tKg4jghz/8IWeddRbbb7/9PPN22mknfvWrX/Gtb32rcdpFF13EiBEjWGyxxRg4cCCZyYABA9hxxx1ZZpllAPjrX//Kz372sxbr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\n", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 1980-01-01T00:00:00+00:00\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.4.2, https://matplotlib.org/\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", + " \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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + "\n" + ], "text/plain": [ "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], "source": [ - "_ = mass_rebuild_results.plot.bar(figsize=(12,5), x=\"Name\",y=\"DL Savings Compared to NAR (%)\",title=\"DL Savings Compared to NAR (more is better)\", xlabel=\"\", ylabel=\"Savings in %\")" + "_ = mass_rebuild_results.plot.bar(figsize=(12,5), x=\"Name\",y=\"DL Savings Compared to NAR (%)\",title=\"DL Savings Compared to NAR (more is better)\", xlabel=\"\", ylabel=\"Savings in %\", color=\"#ff6a00\")" ] }, { @@ -381,7 +2874,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 8, "id": "318921b6-bd97-46e5-9aa4-b89e01831bb1", "metadata": {}, "outputs": [ @@ -432,14 +2925,6 @@ " \n", " \n", " 2\n", - " File\n", - " 946.853440\n", - " 249.259020\n", - " 723.274748\n", - " -341.701675\n", - " \n", - " \n", - " 3\n", " Compressed File\n", " 260.424006\n", " 55.829510\n", @@ -454,70 +2939,2423 @@ " Name Closure Size (MB) Downloaded Size (MB) \\\n", "0 NAR 219.351904 56.431531 \n", "1 Casync 342.924949 55.870973 \n", - "2 File 946.853440 249.259020 \n", - "3 Compressed File 260.424006 55.829510 \n", + "2 Compressed File 260.424006 55.829510 \n", "\n", " Re-used Size (MB) DL Savings Compared to NAR (%) \n", "0 162.920373 0.000000 \n", "1 287.053976 0.993342 \n", - "2 723.274748 -341.701675 \n", - "3 204.594495 1.066817 " + "2 204.594495 1.066817 " ] }, - "execution_count": 16, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "firefox_bump_results = analyse_benchmark_results(b[\"firefoxBump\"])\n", + "firefox_bump_results = analyse_benchmark_results(b[\"firefoxBump\"], False)\n", "firefox_bump_results" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "id": "1e1eb388-b4ab-400a-90a9-f46bfe4f4541", "metadata": {}, "outputs": [ { "data": { - "image/png": "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yr333svb3/52LrnkkjddODd16lS++tWvkpnst99+fO1rXwPg+OOP58477+TVV1/l/e9/f2u4v+aaazj55JMZOnQoO+ywQ+tyXn75ZU488UTuueceFi9ezOTJkznwwAN59dVXOfLII7nvvvvYcsstefXVV9/0ml988UUWL17M2muvDcCqq67K5ptvDsDkyZNZY401OOyww9h339bL57jnnnt49NFHWW211TjuuOOYPXs2AOeccw4777zzm5Y/c+bMpQLzhAkTuPXWW1m0aBELFy7kkUceYezYse3uk5deeonVV1+dAQMGAHDAAQcwYcKE3h+oI2JlijB9aWb+HCAzn6kZ/33gqrJ3DrBBzewjgKfqWZ8kSVK9bLTRRrz++uvMnTuXSy65BCgC5AMPPMBee+3FQw89xK677sqtt97KqFGjGDhwILfffjsAt912Gx/60Id4+umnueuuu5g1axbrrbceO++8M7fffju77LJL63qeeuopPve5zzFjxgzWXHNN9tprL37xi19w0EEHcdppp7HWWmuxZMkS9thjD2bOnMlmm23GMcccw4033sgmm2zCwQcf3Lqs0047jd13350LL7yQ559/nvHjx7Pnnnty/vnns9pqqzFz5kxmzpy5VAhvsdZaa3HAAQcwcuRI9thjD/bff38OPfRQVlrpjRbG6623XutZ/O985zvcfPPNjBw5ksMOO4xPfvKT7LLLLsyePZu9996b+++/f6nlT58+nW222WapYRHBnnvuybXXXsuCBQs44IADeOyxx5aa5vDDD2fVVVfl4Ycf5pxzzmkN1GuuuSYLFy5k/vz5rR8CVlQ97/IRwA+A+zPz7Jrh69ZM9j7g3rL7SuCQiFg1IkYDmwJ31Ks+SZKkesssvky/7bbbmDRpEgBbbLEFI0eO5KGHHmLChAnccsst3Hbbbey333689NJLvPLKKzz++OOtZ3fHjx/PiBEjWGmllRg7dmxrM4oWd955JxMnTmTYsGEMHDiQww8/nFtuuQWAadOmscMOO7D99tsza9Ys7rvvPh544AFGjx7NpptuSkTwoQ99qHVZ1113HWeccQZjx45l4sSJvPbaa8yePZtbbrmldboxY8YwZsyYdl/vBRdcwA033MD48eM588wzOeqoo9qd7vbbb+eCCy7gwgsvBOD666/nhBNOYOzYsRxwwAG88MILvPjii0vN8/TTTzNs2LA3LeuQQw7hsssu47LLLuPQQw990/hLL72UmTNnMnv2bM4880z+9re/tY4bPnw4Tz1V/fxtPc9Q7wxMAu6JiLvLYV8EDo2IsRTNOR4HPgaQmbMiYhpwH8UdQj7uHT4kSVJf9eijjzJgwACGDx/eGqzb2nHHHZk+fTobbbQR7373u3n22Wf5/ve/z9vf/vbWaVZdddXW7gEDBrB48eKlltHRsh977DHOPPNM7rzzTtZcc02OOOKI1h8s6ehey5nJ5Zdf3hrma3X1/szbbrst2267LZMmTWL06NFcdNFFS41/+umnOfroo7nyyitZY401AHj99df5wx/+wODBgztc7uDBg9v9wZXx48dz7733MnjwYDbbbLMO5x82bBg77LADf/rTnxg5ciRQ/CBQZ+vsqroF6sy8jfbbRV/dyTynAafVqyZJktQcGt1mfN68eRx33HGccMIJRAS77rorl156KbvvvjsPPfQQs2fPZvPNN2eVVVZhgw02YNq0aZxyyinMmzePz3zmM3zmM5/p8rp22mknTjrpJJ599lnWXHNNpk6dyoknnsgLL7zA6quvzlvf+laeeeYZfvOb3zBx4kS22GILHnvsMf7617+y8cYbM3Xq1NZl7b333px77rmce+65RAR33XUX22+/fWv9u+22G/feey8zZ858Ux0vvfQS06dPZ+LEiQDcfffdrcG1xaJFi/jgBz/I1772taXC71577cW3v/1t/uM//qN13rZtobfcckvOOuusdrfB6aefzqBBgzrdTq+88gp33XUXn/3sZ4Hiw8Pf//53Ro0a1el8XdEjd/mQJEnq71599VXGjh3LokWLGDhwIJMmTeJTn/oUAP/+7//Occcdx7bbbsvAgQO56KKLWs88T5gwgRtuuIHVVluNCRMmMGfOHCZMmNDl9a677rqcfvrp7LbbbmQm++67LwceeCAA22+/PVtvvTUbbbRR60V+gwYNYsqUKey3334MHTqUXXbZhXvvLVrgnnLKKZx88smMGTOGzGTUqFFcddVVHH/88Rx55JGMGTOGsWPHMn78m+9snJl8/etf52Mf+xiDBw9m9dVXf9PZ6d///vfceeednHrqqZx66qkAXH311XzrW9/i4x//OGPGjGHx4sXsuuuunHfeeUvNu8UWW7BgwQJefPFFhgwZstS497znPR1un8MPP5zBgwez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\n", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 1980-01-01T00:00:00+00:00\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.4.2, https://matplotlib.org/\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", + " \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", + " \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", + " \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", + " \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" + ], "text/plain": [ "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], "source": [ - "_ = firefox_bump_results.plot.bar(figsize=(12,5), x=\"Name\",y=\"Downloaded Size (MB)\",title=\"Volume to Download for the Firefox Version Bump (less is better)\", xlabel=\"\", ylabel=\"Size in MB\")" + "_ = firefox_bump_results.plot.bar(figsize=(12,5), x=\"Name\",y=\"Downloaded Size (MB)\",title=\"Volume to Download for the Firefox Version Bump (less is better)\", xlabel=\"\", ylabel=\"Size in MB\", color=\"#ff6a00\")" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "id": "d3886df5-9aaf-4146-8889-5c63c825e916", "metadata": {}, "outputs": [ { "data": { - "image/png": "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gRswbEvz4e+IJEkfjU4buCVJkqTFoVOO4Z5Xn+Nu/kj39/wZu8x3na5du9K/f39mz55Nt27dGDZsGEcddRRdunThrrvu4uyzz2b06NHNbv/ggw9y5JFHMmvWLGbNmsU+++zDySefvMC13nTTTTz22GMcd9xxC7xta916662ceOKJvPnmm2Qmu+66K2effXZlx/uoLbPMMrzxxhtztb322muMHDmSb3zjGwu0r4jgmGOO4ZxzzgHg7LPP5o033pjrZ7fhhhvSt29frrjiisa2gw8+mLvvvpvll1+ezOSnP/0p22+/fZPHOOqoo9hrr73YZptt2H///ZkwYQK77rorP/7xjwE49dRTGTBgAHvssQcAo0eP5qGHHuJHP/rRAj0XSZLUOvZw10mPHj0YN24ckyZN4vbbb+eWW25ZoMAzbNgwLrroIsaNG8fEiRMZMmTIQtWx++67Vxq2J06cyOGHH84f/vAHHn/8cSZOnMhaa61V2fFa67333luk7V977TV+9atfLfB2Sy65JKNGjeK///1vk8sff/xx5syZwz333MObb74517KzzjqLcePGce6553LooYc2uf0rr7zCgw8+yDbbbMP48eMBGD9+PPfeey8zZsxg6tSpjBkzpjFsA+yyyy7cdNNNvPXWWwv8fCRJ0vwZuNuAlVZaiYsuuohf/OIXZGartnn55ZdZddVVgaK3vG/fvgCMGTOGLbfcks985jNsueWWPPnkkwBsttlmTJo0qXH7bbfdlocffphLL72Uww8/HCh6UY844gi23HJL1lprLa699loA5syZwze+8Q022GADdt11V3beeefGZccddxx9+/ZlwIABfOc73/lQnWeeeSYnnHAC6623HgDdunVr7BV+4YUX2H777RkwYADbb789//znPxvrOOyww9huu+1Ya621uPvuuznkkENYf/31Ofjggxv3vcwyy/Dtb3+bjTbaiO23355p06YBcPHFF7PJJpuw4YYbsvfeezcGyYMPPphjjjmG7bbbju9973s888wz7LTTTmy88cZ89rOf5YknngDgueeeY4sttmCTTTbhxBNPbPL1P+6443jmmWcYOHAgxx57LJnJscceS79+/ejfvz9XXXVVk9t169aN4cOH87Of/azJ5SNHjuTAAw/kC1/4AjfddFOT62yxxRb861//anLZtddey0477QTAEksswdtvv82cOXN499136dq1KyeddBKnnHLKXNtEBNtuu22L36hIkqSFZ+BuI9Zaay3mzJnDyy+/3Kr1jz76aD796U/zpS99iQsvvLBxNon11luPe+65h3/84x+ccsopfP/73wdg6NChXH311QBMnTqVl156iY033vhD+506dSr33Xcfo0ePbuz5HjVqFM8//zwTJkzgN7/5DQ888ABQ9KZef/31TJo0ifHjx/ODH/zgQ/ubOHFik8cBOPzwwznooIMYP348+++/P0cccUTjsldffZW//OUv/OxnP2O33Xbj6KOPZtKkSUyYMIFx48YB8Oabb7LRRhvxyCOP8LnPfa7xG4K99tqLhx56iEcffZT111+fSy65pHG/Tz31FHfccQfnnHMOw4cP5+c//zkPP/wwZ599duMHgSOPPJLDDjuMhx56iFVWWaXJ2s844wzWXnttxo0bx1lnncWoUaMYN24cjz76KHfccQfHHnssU6dObXLbb37zm4wYMYIZM2Z8aNlVV13FPvvsw7777jvXkJJaf/rTn9hzzz2bXHb//fc3vt7rr78+q6++OhtttBFDhgxh8uTJZCaf+cxnPrTdoEGDuPfee5vcpyRJWjQG7jaktb3bACeddBJjx47lC1/4AiNHjmzs1ZwxYwaDBw+mX79+jSEVYMiQIVxzzTUAXH311QwePLjJ/e6555506dKFvn378p///AeA++67j8GDB9OlSxdWWWUVtttuOwCWW245unfvzle/+lVGjRrFUksttUDP94EHHmC//fYD4MADD+S+++5rXLbbbrsREfTv35+VV16Z/v3706VLFzbYYAOef/55ALp06cI+++wDwAEHHNC4/cSJE/nsZz9L//79GTFixFw9+4MHD6Zr16688cYb/O1vf2Pw4MEMHDiQr3/9640B+f7772ffffdtrKs17rvvPvbdd1+6du3KyiuvzOc+9zkeeuihJtddbrnlOOiggzj//PPnan/ooYfo2bMna6yxBttvvz2PPPIIr776auPyY489lrXWWosDDjig8YPUvKZOnUrPnj0bH5977rmMGzeOb3/725x44omccsopnH766QwZMoSLL764cb2VVlqJl156qVXPVZIkLRgDdxvx7LPP0rVrV1ZaaaVWb7P22mtz2GGHceedd/Loo48yffp0TjzxRLbbbjsmTpzIH//4x8ae7169erHiiisyfvx4rrrqKoYOHdrkPpdccsnG+w0fAJr7INCtWzfGjBnD3nvvzQ033NAY+mttsMEGPPzww616PrXT0DXU0aVLl7lq6tKlS7Pjrxu2P/jgg/nFL37BhAkT+OEPfzjXXNJLL700UAyTWWGFFRg3blzj7fHHH2+yltZYkA9LUJzYeMkll8w1TvuKK67giSeeoE+fPqy99tq8/vrrXHfddY3LzzrrLCZPnsxpp53GsGHDmtxvjx49mpw7+8Ybb2TQoEG8+eabTJw4kauvvprLL7+8cbjNO++8Q48ePRboOUiSpNZxlpI2YNq0aRx66KEcfvjhrQ56N998MzvvvDMRwdNPP03Xrl1ZYYUVmDFjBr169QLg0ksvnWuboUOHcuaZZzJjxgz69+/f6vq23nprfv/73zNs2DCmTZvGXXfdxX777ccbb7zBW2+9xc4778zmm2/Opz71qQ9te+yxx7LXXnux9dZbs+666zJnzhzOPfdcjjnmGLbcckuuvPJKDjzwQEaMGMHWW2/d6pqgCM3XXnstQ4cOZeTIkY3bz5w5k1VXXZXZs2czYsSIxtej1nLLLceaa67JNddcw+DBg8lMxo8fz4YbbshWW23FlVdeyQEHHMCIESOaPPayyy7LzJkzGx9vs802XHjhhQwbNoxXXnmFe+65h7POOqvZ2j/+8Y8zZMgQLrnkEg455BDmzJnDNddcw/jx4xvr/etf/8ppp53GV7/61cbtunTpwpFHHsnvf/97brvtNnbccce59rv++uszefJktt1228a22bNnc9555zF69GiefvrpxvdYw9jupZZaiqeeeop+/frN5xWX2pbWzAglSW2BgZv6/Kf99ttvM3DgwMZpAQ888ECOOeaYxuV33nknvXv3bnx8zTXXsMUWWzQ+vvzyyzn66KNZaqml6NatGyNGjKBr165897vfZdiwYfz0pz/l85///FzH/PKXv8yRRx7Z7ImAzdl7772588476devH+uuuy6bbbYZyy+/PDNnzmSPPfbgnXfeITObPBFwwIABnHvuuey777689dZbRAS77FK83ueffz6HHHIIZ511Fj179uR3v/vdAtW19NJLM2nSJDbeeGOWX375xhMVTz31VDbbbDPWWGMN+vfvP1cwrjVixAgOO+wwTjvtNGbPns3QoUPZcMMNOe+889hvv/0477zz2HvvvZvcdsUVV2Sr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\n", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 1980-01-01T00:00:00+00:00\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.4.2, https://matplotlib.org/\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", + " \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", + " \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", + " \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", + " \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" + ], "text/plain": [ "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], "source": [ - "_ = firefox_bump_results.plot.bar(figsize=(12,5), x=\"Name\",y=\"DL Savings Compared to NAR (%)\",title=\"DL Savings Compared to NAR (more is better)\", xlabel=\"\", ylabel=\"Savings in %\")" + "_ = firefox_bump_results.plot.bar(figsize=(12,5), x=\"Name\",y=\"DL Savings Compared to NAR (%)\",title=\"DL Savings Compared to NAR (more is better)\", xlabel=\"\", ylabel=\"Savings in %\", color=\"#ff6a00\")" ] }, { @@ -540,7 +5378,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 11, "id": "2a0cb128-24bf-4714-ab8d-aab8f6cfd291", "metadata": {}, "outputs": [ @@ -591,14 +5429,6 @@ " \n", " \n", " 2\n", - " File\n", - " 1658.069335\n", - " 861.781638\n", - " 817.549735\n", - " -129.705850\n", - " \n", - " \n", - " 3\n", " Compressed File\n", " 478.120248\n", " 307.478671\n", @@ -613,70 +5443,2403 @@ " Name Closure Size (MB) Downloaded Size (MB) \\\n", "0 NAR 387.457979 375.167475 \n", "1 Casync 610.885612 310.540811 \n", - "2 File 1658.069335 861.781638 \n", - "3 Compressed File 478.120248 307.478671 \n", + "2 Compressed File 478.120248 307.478671 \n", "\n", " Re-used Size (MB) DL Savings Compared to NAR (%) \n", "0 12.290504 0.000000 \n", "1 300.344801 17.226084 \n", - "2 817.549735 -129.705850 \n", - "3 170.641577 18.042290 " + "2 170.641577 18.042290 " ] }, - "execution_count": 18, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "channel_jump_results = analyse_benchmark_results(b[\"channelJump\"])\n", + "channel_jump_results = analyse_benchmark_results(b[\"channelJump\"], False)\n", "channel_jump_results" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 12, "id": "9c1ff374-911d-4f9b-bf62-cb09cdbdf317", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtQAAAGGCAYAAABbgxaRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAwnUlEQVR4nO3deZgdZZn38e9NAiQsYggBgTBJWGQPAUNwhGBYBAQMOMMOURBBGEQQHXckOIOALyLK6EBEBQSDGUBFFlmH1REIgoGwSzCEBBIihD1mud8/qjqcNN2dDtWnTy/fz3X11af2u6qru3/nOU9VRWYiSZIk6b1ZodEFSJIkSd2ZgVqSJEmqwEAtSZIkVWCgliRJkiowUEuSJEkVGKglSZKkCgzUUgNFxJiImNHoOnqKiDgyIu6u07ozIjZuZdo6EXFnRLwWEd+v0/Yvjoj/rMe6W9hW3Y5jFZ15DKqKiDMj4uTydaf+nkfE1IgYs5zLdLm/RRExNiKuaHQdUnsYqKWKIuLGiPhOC+P3i4gXIqJvI+paHlX/mZYBbFFEvF5+TYuIX0TEBzuyzi7sWOAl4H2Z+aWqK+uMQBsRe9a8CZgTEXdExNh6brOeulIgjIhBwKeACxux/czcMjNv76zttXTsI2J8RFxWZb2ZeQ2wVUQMr1Sg1AkM1FJ1FwPjIiKajR8HXJ6ZCzu/pIb4v8xcDVgD2B14C3ggIrZqbFmdYgjwaL6HJ2U14g1XRBwA/A9wKTAYWAf4NvCJzq6lhzoSuD4z32p0Id1Vze/FRIo3rFKXZqCWqvstsCYwumlERAwA9gUujYiVI+K8iJhZfp0XESu3tKLm3QpqP+JuagWKiK9ExOyImBUR+0fE3hHxZET8PSK+UbPsChHxtYj4a0TMjYhJEbFmC9tcFbgBWK+mhXm95am7VmYuysy/Zua/AXcA42u2Nbb8OPqViLg9IjYvxx8VEb+vme/piJhUM/xcRIyoOUbHRcRTEfFyRPy4hTczTct9JCLuj4h55feP1Ew7KiIeK1ton4mIzzVb9t/LYzwzIj7T2v5GxMXAp4GvlMdu97aOXc3P8asR8QLwi2br2xy4APjncn2v1EweEBHXlTXfGxEb1Sy3WUTcXJ4HT0TEQa3UG8C5wH9k5kWZOS8zF2fmHZl5TLN5zymP8bSI+Hh7jl3N/n2p5jw9qvZ4lT+zSvuxLBHxbETsXjO8pMU0IoaW59FR5bn1cnlObR8RU8rz879qlj0yIu6JiPPLc+nxiNitjc1/nOLcb6229SLiqig+GZgWEV+omTYqIiZHxKsR8WJEnFuO7xcRl0Xxu/xKeT6vs6x9b219bdT2jYh4qVzH4TXjVy7Ph+nlei6IiP7R8t+Pw4BvAAeXw38p17FGRPysPCeej4j/jIg+zY7xDyLi77zzd+N2YJ+2apa6AgO1VFHZCjWJ4iPeJgcBj2fmX4BvAh8GRgDbAKOAb73HzX0A6AesT9Gi+FPgCOBDFIH+2xGxYTnvF4D9gY8C6wEvAz9uof43KALAzMxcrfya2UF1X13WRRTdPyYCJwODgOuB30fEShThY3QUbwLWBVYEdiyX2xBYDZhSs959ge3Lug4C9my+4SjePFwH/AgYSBEir4uIgeUss8v1vA84CvhBRGxXLrsX8GXgY8AmFC3uLcrMI4HLge+Vx+4Wln3sPkDxJmwIzVrfMvMx4DjKFv/MfH/N5EOB04EBwNPAGWW9qwI3A78C1i7n+0lEbNlCyZsCGwBXtrZPpR2AJ4C1gO8BPyvDOLRx7Gr2bw2K8/Ro4MdRvMnsyP3oCDtQ/HwPBs6j+LntDmwJHBQRH2027zMUx+M04Opo4Q1qaWuKY/cuEbEC8HvgLxTHZzfg5IhoOod/CPwwM98HbETxtwWKN21rUPzsBlKcI+1pAW9tfS35QLl/65fbmxARm5bTzgY+SHFOb1zO8+1W/n78Cvgu8OtyeJtyHZcAC8vltwX2AD5bs/2mY7w25TkBPAYMjYj3tWNfpYYxUEsd4xLgwIjoXw5/qhwHcDjwncycnZlzKILEuPe4nQXAGZm5ALiC4p/fDzPztcycCkwFmvobfg74ZmbOyMz5FC0+B0T7uxh0RN0zKYIjFKHlusy8uaz/HKA/8JHMfAZ4jeKf9UeBG4HnI2KzcviuzFxcs96zMvOVzJwO/G+5XHP7AE9l5i8zc2FmTgQep+zWkJnXlS3pmZl3ADfxzqcMBwG/yMxHysAwfjn3e1nHbjFwWmbOX85uAVdn5n1lN6LLeWe/9wWezcxflPv6Z+Aq4IAW1tH0hmLWMrb1t8z8aWYuojiX16XoGrKsYwfFefqdzFyQmdcDr1ME+Y7cj47wH5n5dmbeBLwBTCx/Zs8Dd1GEviazgfPKffo1RWBureX0/RTnc0u2BwZl5ncy8x/luf9T4JBy+gJg44hYKzNfz8w/1YwfCGxcfgr0QGa+2o59bG19rTm1PC/voHhDelD5RuoY4IuZ+ffMfI0iMB/S1opqla3pHwdOzsw3MnM28INm65iZmeeXP/um34um4/j+9m5LaoQuf7GU1B1k5t0RMQfYLyLuo/in+S/l5PWAv9XM/rdy3Hsxtww48E7r1Is109+iaM2FovXzNxFRG0QXUYSi59uxrY6oe33g7y2tLzMXR8Rz5TxQtFKPoWi9ugN4hSJM/zPv/vj8hZrXb/LOPrdVf9M+rA8QRReG0yha3VYAVgEerln2gWbLLY9lHbs5mfn2cq4TWt/vIcAOsXT3kL7AL1tYx9zy+7rAtPZsKzPfLBunV4NlHjsoztPaawea/4w6Yj86QvPfndZ+lwCeb9ZHvq3fh5eB1VuZNoSie8QrNeP6UAR4KFr0vwM8HhHTgNMz81qKY7ABcEVEvB+4jOIN84JWttOktfW1WHf5BrJJ0z4OovgZP/DOhxREWXd7DaH45GlWzTpWAJ6rmee55gvxznF8ZTm2JXU6W6iljnMpRcv0OOCmzGz65zyT4p9Jk38qx7XkTYp/XE0+UKGe54CPZ+b7a776la1vzbV0Md3y1N2aT/JOUFhqfWWr1wa8E+6bAvXo8vUdFIH6o7TRH7UNzeuHYh+ej6I/81UUreTrlN0qrqcICVC03m7QbLkq225+7JZ18eLyXtz4HHBHs5/1apl5fAvzPlHO/6/LuQ2g6EtL28euiuXZj2V5g477XQJYv6bLC7T9+zCF4s1GS54DpjXbx9Uzc2+AzHwqMw+l6PZwNnBlRKxatoyfnplbAB+haM3/VCvbWKK19bUy+4Bm05r28SWKNxhb1tS8RhYXIUPL52vzcc8B84G1atbxvszcso1lADan+NSiPa3xUsMYqKWOcylF/8tjeKe7BxT9hr8VEYMiYi2Kvs+t3U7qIeCwiOhT9uP9aCvztccFwBkRMQSKW3lFxH6tzPsiMDAi1niPdS9R1j4sIs6nCMinl5MmAftExG4RsSLwJYp/sH8sp98B7AL0z8wZFEF8L4qPuR9s707XuB74YEQcFhF9I+JgYAvgWmAlYGVgDrCwbHHdo2bZScCREbFFRKxC0Rq7PN7TsavxIjC47F/eHtdS7Ou4iFix/No+yos+a5WtrKcAp0ZxUd77yr7rO0XEhHZsa1nHrop270c7PAQcUq5jJNW7jawNfKFc34EUQe/6Vua9ntZ/d+8DXo3iotT+5e/LVhGxPUBEHBERg8ouTq+UyyyKiF0iYuvyIr5XKbpyLGpxCzVaW18bi5weEStFxGiK0P4/5bI/pegrv3a53vVr+n239PfjRYq+zysAZOYsiq5B36855zZq1k+9JR+luOhR6tIM1FIHycxnKcLhqsA1NZP+E5hM0Wr1MPDnclxLTqLo4/sKRT/c31Yo6YdlHTdFxGvAnygu+mmp9scpQuAzUdxBYL3lrBvKu1JQ/LO/neKCte0z8+FyG09QXEB5PkWL1yeAT2TmP8rpT1L0tb2rHH6V4gKle2q6ubRbZs6lCARfoujm8BVg38x8qewD+gWK4PwycBg1P7PMvIHiIrXbKC6au205N7+8x6652yj6w78QES8ta+Zyf/ag6I86k6JLxdkUwbel+a+k6NP+mXL+F8v6ftfObbV67KpY3v1oaRU1r0+luAjvZYo3db+qWN69FBcwvkRxwdwB5TnWkkuBvWuuqXinwOJc/gRFv/Fp5fouorjgEIo3kVPL36UfAoeU3YM+QHEh6asUF+rdQfvepLW2vpa8QHG8ZlL0bT+u/NsA8FWK34U/RcSrwC2U/eJb+fvxP+VycyPiz+XrT1G8IXu03M6VFF2P2nIoDbqft7Q8Ipf/tqmSJHUpUTyU5juZOaIO6z4S+Gxm7rQcy3wXmJ2Z53V0Pb1FRHwCGJeZ7+nWiVJn8qJESVK3Vt655l8pPhXoEjLzG8ueS23JzN9T3GJQ6vIM1JKkbqvst/scxV1ZlnmRniTVg10+JEmSpAq8KFGSJEmqoFt3+VhrrbVy6NChjS5DkiRJPdwDDzzwUmYOamlatw7UQ4cOZfLkLnMNiiRJknqoiGj1qbl2+ZAkSZIqMFBLkiRJFRioJUmSpAq6dR9qSZIkgAULFjBjxgzefru1J6tL7dOvXz8GDx7Miiuu2O5lDNSSJKnbmzFjBquvvjpDhw4lIhpdjrqpzGTu3LnMmDGDYcOGtXs5u3xIkqRu7+2332bgwIGGaVUSEQwcOHC5P+kwUEuSpB7BMK2O8F7OIwO1JEmSVIF9qCVJUo8z9GvXdej6nj1rnw5dn3oWW6glSZI6QJ8+fRgxYgRbbrkl22yzDeeeey6LFy+u2/bGjBnTIU+Mvv3229l33307ZNvXXnst2267Ldtssw1bbLEFF154IQAXXHABl156aeVaH3zwQT772c8CcPHFFxMR3HrrrUum/+Y3vyEiuPLKK5fUuemmmzJixAg233xzJkyYsGTe3XffnZdffrlyTWALtSRJUofo378/Dz30EACzZ8/msMMOY968eZx++umNLayTLFiwgGOPPZb77ruPwYMHM3/+fJ599lkAjjvuuA7Zxne/+12+9a1vLRneeuutmThxIrvtthsAV1xxBdtss81Sy1x++eWMHDmSv//972y00UYceeSRrLTSSowbN46f/OQnfPOb36xcl4FaktQldfRH9r2dXRY619prr82ECRPYfvvtGT9+PPPnz+f4449n8uTJ9O3bl3PPPZdddtmFvffem7POOovhw4ez7bbb8slPfpJvf/vbnHrqqQwZMoSNN96Y8ePHs9Zaa/HII4/woQ99iMsuu+xdF85NnDiR7373u2Qm++yzD2effTYAxx9/PPfffz9vvfUWBxxwwJJw/4c//IGTTz6ZtdZai+22227Jet544w1OPPFEHn74YRYuXMj48ePZb7/9eOuttzjqqKN49NFH2XzzzXnrrbfetc+vvfYaCxcuZODAgQCsvPLKbLrppgCMHz+e1VZbjcMOO4y99957yTIPP/wwzzzzDKussgrHHXcc06dPB+C8885jxx13fNf6p0yZslRgHj16NHfddRcLFixg/vz5PP3004wYMaLFn8nrr7/OqquuSp8+fQAYO3Yso0ePNlBLkiR1VRtuuCGLFy9m9uzZXHbZZUARIB9//HH22GMPnnzySXbeeWfuuusuhg4dSt++fbnnnnsAuPvuuzniiCOYNWsWDz74IFOnTmW99dZjxx135J577mGnnXZasp2ZM2fy1a9+lQceeIABAwawxx578Nvf/pb999+fM844gzXXXJNFixax2267MWXKFD74wQ9yzDHHcNttt7Hxxhtz8MEHL1nXGWecwa677srPf/5zXnnlFUaNGsXuu+/OhRdeyCqrrMKUKVOYMmXKUiG8yZprrsnYsWMZMmQIu+22G/vuuy+HHnooK6zwTg/j9dZbb0kr/o9//GPuuOMOhgwZwmGHHcYXv/hFdtppJ6ZPn86ee+7JY489ttT6J0+ezFZbbbXUuIhg991358Ybb2TevHmMHTuWadOmLTXP4Ycfzsorr8xTTz3FeeedtyRQDxgwgPnz5zN37twlbwLeK/tQS5Ik1UlmAkVAHjduHACbbbYZQ4YM4cknn2T06NHceeed3H333eyzzz68/vrrvPnmmzz77LNLWndHjRrF4MGDWWGFFRgxYsSSbhRN7r//fsaMGcOgQYPo27cvhx9+OHfeeScAkyZNYrvttmPbbbdl6tSpPProozz++OMMGzaMTTbZhIjgiCOOWLKum266ibPOOosRI0YwZswY3n77baZPn86dd965ZL7hw4czfPjwFvf3oosu4tZbb2XUqFGcc845fOYzn2lxvnvuuYeLLrqIn//85wDccsstfP7zn2fEiBGMHTuWV199lddee22pZWbNmsWgQYPeta5DDjmEK664giuuuIJDDz30XdMvv/xypkyZwvTp0znnnHP429/+tmTa2muvzcyZM1uscXnYQi1JklQHzzzzDH369GHttddeEqyb23777Zk8eTIbbrghH/vYx3jppZf46U9/yoc+9KEl86y88spLXvfp04eFCxcutY7W1j1t2jTOOecc7r//fgYMGMCRRx655IElrd1rOTO56qqrloT5Wu29P/PWW2/N1ltvzbhx4xg2bBgXX3zxUtNnzZrF0UcfzTXXXMNqq60GwOLFi/m///s/+vfv3+p6+/fv3+IDV0aNGsUjjzxC//79+eAHP9jq8oMGDWK77bbj3nvvZciQIUDxQKC2ttleBmpJktTjNLrP+Jw5czjuuOP4/Oc/T0Sw8847c/nll7Prrrvy5JNPMn36dDbddFNWWmklNthgAyZNmsSpp57KnDlz+PKXv8yXv/zldm9rhx124KSTTuKll15iwIABTJw4kRNPPJFXX32VVVddlTXWWIMXX3yRG264gTFjxrDZZpsxbdo0/vrXv7LRRhsxceLEJevac889Of/88zn//POJCB588EG23XbbJfXvsssuPPLII0yZMuVddbz++utMnjyZMWPGAPDQQw8tCa5NFixYwEEHHcTZZ5+9VPjdY489+K//+i/+/d//fcmyzftCb7755nz/+99v8RiceeaZ9OvXr83j9Oabb/Lggw/yla98BSjePLzwwgsMHTq0zeXaw0AtSZLUAd566y1GjBjBggUL6Nu3L+PGjeOUU04B4N/+7d847rjj2Hrrrenbty8XX3zxkpbn0aNHc+utt7LKKqswevRoZsyYwejRo9u93XXX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\n", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 1980-01-01T00:00:00+00:00\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.4.2, https://matplotlib.org/\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", + " \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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], "text/plain": [ "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], "source": [ - "_ = channel_jump_results.plot.bar(figsize=(12,5), x=\"Name\",y=\"Downloaded Size (MB)\",title=\"Volume to Download for the Channel Jump (less is better)\", xlabel=\"\", ylabel=\"Size in MB\")" + "_ = channel_jump_results.plot.bar(figsize=(12,5), x=\"Name\",y=\"Downloaded Size (MB)\",title=\"Volume to Download for the Channel Jump (less is better)\", xlabel=\"\", ylabel=\"Size in MB\", color=\"#ff6a00\")" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 13, "id": "4dcd7cc8-1185-411b-8e30-115f5c5f516b", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtwAAAGGCAYAAABIVFZlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAA2lklEQVR4nO3debxd873/8dcniUrMrVmCoFpCQglqqBpLzdcYlLha+VVpKTXVUJTWVVx6dZCWalUQNaWGGmssIjQkMVQM1ZASQ9KYIuTz+2OtEzuxz8lJZGWfnP16Ph7nkb3X+NnDyXnv7/6stSIzkSRJklSNLo0uQJIkSerMDNySJElShQzckiRJUoUM3JIkSVKFDNySJElShQzckiRJUoUM3JI6pIh4OyJWbXQdnVFEbBER4xpdx9wWET+NiCMbXcfMIuIrEfHMHKx3aUScUUVNcyoiro2I7RtdhzS/MXBLTSYiXoyI9yJickRMjIi/RcS3I6JLzTLt/kMfEd+MiKfL7b0aETdFxKKfts7MXCQzn/+025kdEfGZiDg1Ip6NiHfK5+qSiOg9L+totIjIiPj8HK7bu1z/ppmm/zEiTp1p2ioRMS0iftlKDe+UH7xejojzIqJrG/tdGjgQuGhO6q5SZt6XmV+cl/us9ztcvp+3+ZSbPgs481NuQ2o6Bm6pOe2cmYsCK1P8AT0OuHh2NxIRXwV+Auxbbm9NYOjcLHQe+xOwC7AfsDiwDvAosHUji5qVtoJoA305IjadxTIHAm8BAyJiwTrz18nMRYCvAvsAB7exrYOAmzPzvTkpdnZERLeq99HRRKFLZg4HFouI/o2uSZqfGLilJpaZkzJzGEWYGRgRa8/mJjYAHszMv5fbezMzf5+ZkwEiYseI+HtE/Cci/lU7whkRf4mIw2s3FhGPR8Tu5e3po6zlaN0vytHzyRHxcESsVrPe1yLimYiYFBG/jIh7IuJb5bzPl/cnRcTrEXFVvQdSjvxtC+yamY9k5ofl8/OLzLy4XGaFiBgWEW9GxNiIOKRm/VMj4upyJHdyRIyKiC9ExAkR8Vr5+L9Ws/zdZQvE8LK2GyLiczXzr46If5fz7o2ItWrmXRoRv4qImyPiHWDLsrZrImJCRLwQEd+rWb5Huc5bEfFk+brVFRH3ljcfL0eX9ymnH1I+5jfL52CF1rZROhuY1bckBwInAVOBnVtbKDPHAg8A67axra8D99Q8ji0iYlxEHFs+/+MjYreI2CEi/lE+jh/WLL9gRJwfEa+UP+e3fAio2dZxEfFv4HcR0SUijo+I5yLijYgYWvv61YqZWnjK7bxcvk+eiYi2PtAtFRG3l8veExEr12xnjXLem+V29i6nDwL2B44tX8M/R8RlwErAn8tpx5bLfjmKb7kmRvH7t0XN9u+OiDMj4gHgXaClxetuYMc2apY0EwO3JMpRq3HAV2Zz1YeB7SLitIjYND45SvkORahaguIP9KERsVs5bwiwb8uCEdGHYsT9JurbFzgN+CwwlvJr7YhYimJk+gRgSeAZYJOa9X4M3Fau1wv4v1a2vw0wPDP/1cbjvYLieVoB2BP4yUxhaWfgsnJffwdupfh/tidwOp9sdziQYtR2BeBD4Oc1824BVgeWAR4DLp9p3f0onoNFgb8BfwYeL/e1NXBkRGxXLvsjYLXyZztgYGsPMDM3L2+uU7b1XBURWwE/BfYGlgf+CVzZ2jZKvwC+EK20METEVyhejyspvhU5sLUNRcQaFO/NsW3sry/Fa19rOaA7xXNyCvAb4BvA+uX2TomPjxM4EfgyRahfB9iQ4sNA7bY+R/EeHQR8D9iNYvR9BYqR+l+0UV/LY/kicDiwQfmt0HbAi22ssj/Fe3gpYCTl+yAiFgZup/g9Wobi9+OXEbFWZg4ulzu7fA13zswDgJcovt1aJDPPjoieFL9vZ5SP7QfANVG057Q4oHy8i1K87gBPlc+RpHYycEtq8QrFH912y8z7gN2B9Sj+cL8RNb22mXl3Zo7KzGmZ+QRFYP1qufp1wLo1I3b7A9dm5pRWdndtZg7PzA8pwsS65fQdgDGZeW057+fAv2vWm0oRklbIzPcz8/5Wtr8kML61xxoRKwKbAceV2xkJ/JYikLS4LzNvLeu4GlgaOCszp1IEy94RsUTN8pdl5ujMfAc4Gdi75rm7JDMnl8/HqcA6EbF4zbo3ZOYDmTmNImwunZmnZ+YHZe/7b4AB5bJ7A2eW30D8ixmDfXvsD1ySmY+V9ZwAbBxt97a/T/GBoLVR7oHALZn5FkVo/HpELDPTMo+VI/hPUYyqfqLXu8YSwOSZpk2leNwtz/9SwAXl8zoGGAP0q3mMp2fma5k5geLDXe1rOw34UWZOKdtW/h9wYmaOq3mN9oxZt5t8BCwI9ImIBTLzxcx8ro3lb8rMe8t9nEjxvK8I7AS8mJm/K7+NeQy4huKDYHt9g6IN5+byd/R2YATF71SLSzNzTLmPqeW0yRTPt6R2MnBLatETeHN2V8rMWzJzZ4qwvitFL21LO8dGEfHXss1hEvBtitBD2XZyEx+HwgF8chS3Vm2IfhdYpLy9AjB9VDozk2IUusWxQADDI2JMRLTWB/wGxehta1YA3mxplyn9k+J5a/Fqze33gNcz86Oa+9TUTW3d5bYWoGgh6BoRZ5XtCv/h4xHQpVpZd2VghbItYGJETAR+CCxbU/vM+5odK9Suk5lvUzxfPVtdo/AbYNmImKFdJCJ6AHtRvt6Z+SDF6Ot+M62/HsXztQ+wEbBwG/t6i2IUttYbdZ7/mV+j2vdR7fPyz3JaiwmZ+X7N/ZWB62qe76cowvSytKFsjzmSIqC/FhFXzqI9p/a9/TbF7+gK5f43muk1359iJL69Vgb2mmkbmzHj70G9b3wWBSbOxn6kpmfglkREbEARnlob/Z2lcoTsTuAuoKUXfAgwDFgxMxcHfk0RfltcAewbERsDPYC/zsGux1O0JgDFwV219zPz35l5SGauQDEq+cuofwaOO4ANI6JXnXlQfgMQM56BZSXg5TmoucWKM21rKvA6RfDclaLNZXGgd7lM7XOXNbf/BbyQmUvU/CyamS0jlePr7Gt2vEIRzooiinaGJZnFYy9HRE+jaImorf2/gMUoXot/l33RPanTVpKFocCDFG0hrXkC+EK7Hk19MzxGiufoldpSZlr+X8DXZ3rOu2fmLN8PmTkkMzcr95fA/7Sx+PTXLSIWofhg+0q5/3tm2v8imXloK/W29hgum2kbC2fmWW2sA8XB0Y+3+SAlzcDALTWxiFgsInai+Lr9j5k5qmZ214joXvPzmTrr7xoRAyLis1HYkKJl5KFykUUpRoXfL+fNPIJ5M0XoOB24qmyPmF03AX2jOCCuG3AYNaN8EbFXTYh+iyJAfDTzRjLzDoqe2OsiYv2I6BYRi0ZxysSDy1aMvwE/LZ+PfsA3aXtUfla+ERF9ImIhiufgT+WI7KLAFIpR5IUozgTTluHAf8qD8XqUI+Rrlx+koOiRPqF8nXoB353F9l7l4wPkoPjg9N8RsW7Zp/8T4OHMfLEdj/EyihaK2nM3DwQuoWiFWbf82ZSixahvK9s5CxgUEa2N4N7Mx+1Kc+IK4KSIWLo8LuAU4I9tLP9r4MyWlqhyvV1ntZOI+GJEbFU+j+9TjLJ/4v1YY4eI2Kz8/fsxxfP+L+BGih75AyJigfJng4hYs1xv5tew3rQ/AjtHxHble6Z7FAd4tvahs8VXKY4xkNROBm6pOf05IiZTjHCdCJwH/PdMyxxPEQZafu6qs523gEOAZ4H/UPwB/1lmtoTQ7wCnl/s6hZlOGVj2pV5LMZI7ZE4eSGa+TtGecDZFQO1D0Yfa0gu+AfBwRLxNMdp+RGa+0Mrm9qQIblcBk4DRQH+K0W8oDkzrTTHCeB1FT+/tc1J36TLgUop2me4UB+IB/IGipeFl4Ek+/gBTVxnSd6YIri9QjJL/lmJ0HIpR5n+W824r99uWU4Hfl20Ge5ffXJxM0SM8nuLgywFtrD9zbT+iPD6gPFBva+D88tuHlp9Hgb/QygGd5YfBe4BjWtnVHyjCaY/21FXHGRTvmyeAURQHqrZ1lpULKN5Pt5Xv74co2l5mZUGKDw+vU7zuy1C0/7RmCMXz9ybFwZ77w/SWrK9RvA6vlNv6n3L7UJzms0/5Gl5fTvspxYeKiRHxgzK471rufwLF/wfH0EY2KD/EvZPFgdaS2imKdkdJ6hyiuIDPOGD/zJyTFpV5IiLupvhW4beNrqWziIifAK9l5vmNrqWziohrgIsz8+ZG1yLNT5ru5P2SOp8oTn/3MMVI/DEU/cJtjgqr88nMtkaKNRdk5h6NrkGaH9lSIqkz2Bh4juJr+p2B3XIeXHFQkqT2sKVEkiRJqpAj3JIkSVKFOn0P91JLLZW9e/dudBmSJEnqxB599NHXM3PpevM6feDu3bs3I0aMaHQZkiRJ6sQiotWr+NpSIkmSJFXIwC1JkiRVyMAtSZIkVajT93DXM3XqVMaNG8f777/f6FKkDqt79+706tWLBRZYoNGlSJI0X+uQgTsiVgT+ACwHTAMGZ+YFEfE54CqgN/AisHdmvjW72x83bhyLLroovXv3JiLmXuFSJ5GZvPHGG4wbN45VVlml0eVIkjRf66gtJR8CR2fmmsCXgcMiog9wPHBnZq4O3Fnen23vv/8+Sy65pGFbakVEsOSSS/otkCRJc0GHDNyZOT4zHytvTwaeAnoCuwK/Lxf7PbDbnO7DsC21zd8RSZLmjg4ZuGtFRG/gS8DDwLKZOR6KUA4s08o6gyJiRESMmDBhwjyrVZIkSZpZh+zhbhERiwDXAEdm5n/aO+KWmYOBwQD9+/fPWS3f+/ibPk2Zn/DiWTvOcpmuXbvSt29fpk6dSrdu3Rg4cCBHHnkkXbp04e677+acc87hxhtvbHX9hx56iCOOOIIpU6YwZcoU9tlnH0499dTZrnXYsGE8+eSTHH/8HHXntMstt9zCySefzDvvvENmstNOO3HOOedUtr+5bZFFFuHtt9+eYdrEiRMZMmQI3/nOd2ZrWxHBUUcdxbnnngvAOeecw9tvvz3Da7fOOuvQp08frrjiiunTDjroIO655x4WX3xxMpPzzjuPrbfeuu4+jjzySHbffXc233xz9t9/f0aNGsVOO+3ET37yEwB+/OMf069fP3bddVcAbrzxRh555BFOO+202XoskiSpfTrsCHdELEARti/PzGvLya9GxPLl/OWB1xpV36fVo0cPRo4cyZgxY7j99tu5+eabZyvwDBw4kMGDBzNy5EhGjx7N3nvvPUd17LLLLpWG7dGjR3P44Yfzxz/+kaeeeorRo0ez6qqrVra/9vrwww8/1foTJ07kl7/85Wyvt+CCC3Lttdfy+uuv153/1FNPMW3aNO69917eeeedGeb97Gc/Y+TIkZx//vl8+9vfrrv+m2++yUMPPcTmm2/OE088AcATTzzBfffdx6RJkxg/fjzDhw+fHrYBdtxxR4YNG8a77747249HkiTNWocM3FEMZV8MPJWZ59XMGgYMLG8PBG6Y17VVYZlllmHw4MFceOGFZM5yQB6A1157jeWXXx4oRsv79OkDwPDhw9lkk0340pe+xCabbMIzzzwDwEYbbcSYMWOmr7/FFlvw6KOPcumll3L44YcDxSjq9773PTbZZBNWXXVV/vSnPwEwbdo0vvOd77DWWmux0047scMOO0yfd/zxx9OnTx/69evHD37wg0/UefbZZ3PiiSeyxhprANCtW7fpo8L//Oc/2XrrrenXrx9bb701L7300vQ6Dj30ULbccktWXXVV7rnnHg4++GDWXHNNDjrooOnbXmSRRTj66KNZb7312HrrrWlpH/rNb37DBhtswDrrrMMee+wxPUgedNBBHHXUUWy55ZYcd9xxPPfcc2y//fasv/76fOUrX+Hpp58G4IUXXmDjjTdmgw024OSTT677/B9//PE899xzrLvuuhxzzDFkJscccwxrr702ffv25aqrrqq7Xrdu3Rg0aBD/+7//W3f+kCFDOOCAA/ja177GsGHD6i6z8cYb8/LLL9ed96c//Yntt98egAUWWID33nuPadOm8cEHH9C1a1dOOeUUTj/99BnWiQi22GKLNr9RkSRJc66jtpRsChwAjIqIkeW0HwJnAUMj4pvAS8BejSlv7lt11VWZNm0ar73WvkH773//+3zxi19kiy22YPvtt2fgwIF0796dNdZYg3vvvZdu3bpxxx138MMf/pBrrrmGAQMGMHToUE477TTGjx/PK6+8wvrrr8+oUaNm2O748eO5//77efrpp9lll13Yc889ufbaa3nxxRcZNWoUr732GmuuuSYHH3wwb775Jtdddx1PP/00EcHEiRM/Uefo0aM5+uij6z6Gww8/nAMPPJCBAwdyySWX8L3vfY/rr78egLfeeou77rqLYcOGsfPOO/PAAw/w29/+lg022ICRI0ey7rrr8s4777Deeutx7rnncvrpp3Paaadx4YUXsvvuu3PIIYcAcNJJJ3HxxRfz3e9+F4B//OMf3HHHHXTt2pWtt96aX//616y++uo8/PDDfOc73+Guu+7iiCOO4NBDD+XAAw/kF7/4Rd3azzrrLEaPHs3IkSMBuOaaaxg5ciSPP/44r7/+OhtssAGbb7759A9FtQ477DD69evHscce+4l5V111FbfffjvPPPMMF154Ifvuu+8nlvnLX/7CbrvtVreuBx54gD333BOANddck5VWWon11luPAw44gLFjx5KZfOlLX/rEev379+e+++6b429KJEkzmtvtqs2sPa26HV2HDNyZeT/QWsN2/cbVTqC9o9sAp5xyCvvvvz+33XYbQ4YM4YorruDuu+9m0qRJDBw4kGeffZaIYOrUqQDsvffebLvttpx22mkMHTqUvfaq/1llt912o0uXLvTp04dXX30VgPvvv5+99tqLLl26sNxyy7HlllsCsNhii9G9e3e+9a1vseOOO7LTTjvN1uN98MEHufbaolvogAMOmCGA7rzzzkQEffv2Zdlll6Vv374ArLXWWrz44ousu+66dOnShX322QeAb3zjG+y+++5AEfJPOukkJk6cyNtvv8122203fbt77bUXXbt25e233+Zvf/vbDM/DlClTgCK0XnPNNdPrOu6442b5WO6//3723XdfunbtyrLLLstXv/pVHnnkEXbZZZdPLLvYYotx4IEH8vOf/5wePXpMn/7II4+w9NJLs/LKK9OrVy8OPvhg3nrrLT772c8CcMwxx3Dsscfy2muv8dBDD9WtY/z48Sy99NLT759//vkzPKcXXXQRZ555Jo8//jjbbrvt9A8myyyzDK+88krdbfpHY+7qDH84JEmzp0O2lDSj559/nq5du7LMMnVPvFLXaqutxqGHHsqdd97J448/zhtvvMHJJ5/MlltuyejRo/nzn/88/TzKPXv2ZMkll+SJJ57gqquuYsCAAXW3ueCCC06/3fIBoLUPAt26dWP48OHsscceXH/99dNbGWqttdZaPProo+16PLUHxbbU0aVLlxlq6tKlS6v91y3rH3TQQVx44YWMGjWKH/3oRzOcS3rhhRcGijaZJZZYgpEjR07/eeqpp+rW0h6z82EJigMbL7744hn6tK+44gqefvppevfuzWqrrcZ//vOf6cEfih7usWPHcsYZZzBw4MB6m6VHjx51z519ww030L9/f9555x1Gjx7N0KFDueyyy6a327z//vszhH9JkjT3GLg7gAkTJvDtb3+bww8/vN1B76abbpoe8p599lm6du3KEksswaRJk+jZsycAl1566QzrDBgwgLPPPptJkyZNHzFuj80224xrrrmGadOm8eqrr3L33XcD8PbbbzNp0iR22GEHzj///OntFbWOOeYYfvKTn/CPf/wDKILueecVbfmbbLIJV155JQCXX345m222WbtratlWSy/5kCFDpq8/efJkll9+eaZOncrll19ed93FFluMVVZZhauvvhooAvPjjz8OwKabbjpDXfUsuuiiTJ48efr9zTffnKuuuoqPPvqICRMmcO+997Lhhhu2WvvnPvc59t57by6++OLpj+Xqq6/miSee4MUXX+TFF1/khhtumOFMJVB84DjiiCOYNm0at9566ye2u+aaazJ27NgZpk2dOpULLriAY445hnfffXf6e6yltxuKVpu111671XolSdKc65AtJfNaI77ife+991h33XWnnxbwgAMO4Kijjpo+/84776RXr17T71999dVsvPHG0+9fdtllfP/732ehhRaiW7duXH755XTt2pVjjz2WgQMHct5557HVVlvNsM8999yTI444otUDAVuzxx57cOedd7L22mvzhS98gY022ojFF1+cyZMns+uuu/L++++TmXUPBOzXrx/nn38+++677/Swt+OOxfP9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\n", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 1980-01-01T00:00:00+00:00\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.4.2, https://matplotlib.org/\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", + " \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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], "text/plain": [ "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], "source": [ - "_ = channel_jump_results.plot.bar(figsize=(12,5), x=\"Name\",y=\"DL Savings Compared to NAR (%)\",title=\"DL Savings Compared to NAR (more is better)\", xlabel=\"\", ylabel=\"Savings in %\")" + "_ = channel_jump_results.plot.bar(figsize=(12,5), x=\"Name\",y=\"DL Savings Compared to NAR (%)\",title=\"DL Savings Compared to NAR (more is better)\", xlabel=\"\", ylabel=\"Savings in %\", color=\"#ff6a00\")" ] }, { @@ -697,7 +7860,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 14, "id": "043cca46-d47c-41af-90de-576fbb73ce9e", "metadata": {}, "outputs": [ @@ -748,14 +7911,6 @@ " \n", " \n", " 2\n", - " File\n", - " 1127.324116\n", - " 38.239911\n", - " 1121.558323\n", - " -88.645563\n", - " \n", - " \n", - " 3\n", " Compressed File\n", " 300.300404\n", " 10.187397\n", @@ -770,23 +7925,1253 @@ " Name Closure Size (MB) Downloaded Size (MB) \\\n", "0 NAR 247.506391 20.270771 \n", "1 Casync 363.372208 13.057223 \n", - "2 File 1127.324116 38.239911 \n", - "3 Compressed File 300.300404 10.187397 \n", + "2 Compressed File 300.300404 10.187397 \n", "\n", " Re-used Size (MB) DL Savings Compared to NAR (%) \n", "0 227.235619 0.000000 \n", "1 350.314985 35.585959 \n", - "2 1121.558323 -88.645563 \n", - "3 290.113007 49.743419 " + "2 290.113007 49.743419 " ] }, - "execution_count": 20, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 1980-01-01T00:00:00+00:00\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.4.2, https://matplotlib.org/\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", + " \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", + " \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", + " \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", + " \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", + " \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" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "gimp_bump_results = analyse_benchmark_results(b[\"gimpBump\"])\n", + "gimp_bump_results = analyse_benchmark_results(b[\"gimpBump\"], False)\n", + "gimp_bump_results.plot.bar(figsize=(12,5), x=\"Name\",y=\"Downloaded Size (MB)\",title=\"Volume to Download for the Gimp Bump (less is better)\", xlabel=\"\", ylabel=\"Size in MB\", color=\"#ff6a00\")\n", "gimp_bump_results" ] }, @@ -800,7 +9185,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 15, "id": "da6473fa-7ab4-4648-b5f8-389bc994b6b0", "metadata": {}, "outputs": [ @@ -851,14 +9236,6 @@ " \n", " \n", " 2\n", - " File\n", - " 462.193035\n", - " 115.231532\n", - " 350.550795\n", - " -189.932172\n", - " \n", - " \n", - " 3\n", " Compressed File\n", " 136.599691\n", " 40.735590\n", @@ -873,23 +9250,1184 @@ " Name Closure Size (MB) Downloaded Size (MB) \\\n", "0 NAR 110.330516 39.744307 \n", "1 Casync 177.733558 44.726448 \n", - "2 File 462.193035 115.231532 \n", - "3 Compressed File 136.599691 40.735590 \n", + "2 Compressed File 136.599691 40.735590 \n", "\n", " Re-used Size (MB) DL Savings Compared to NAR (%) \n", "0 70.586210 0.000000 \n", "1 133.007110 -12.535484 \n", - "2 350.550795 -189.932172 \n", - "3 95.864101 -2.494152 " + "2 95.864101 -2.494152 " ] }, - "execution_count": 22, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 1980-01-01T00:00:00+00:00\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.4.2, https://matplotlib.org/\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", + " \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", + " \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", + " \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", + " \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" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "emacs_bump_results = analyse_benchmark_results(b[\"emacsBump\"])\n", + "emacs_bump_results = analyse_benchmark_results(b[\"emacsBump\"], False)\n", + "emacs_bump_results.plot.bar(figsize=(12,5), x=\"Name\",y=\"Downloaded Size (MB)\",title=\"Volume to Download for the Emacs Bump (less is better)\", xlabel=\"\", ylabel=\"Size in MB\", color=\"#ff6a00\")\n", "emacs_bump_results" ] }, @@ -903,7 +10441,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 16, "id": "3efbf4a8-0637-4fa1-be31-2450a49dc249", "metadata": {}, "outputs": [ @@ -954,14 +10492,6 @@ " \n", " \n", " 2\n", - " File\n", - " 636.211984\n", - " 10.100060\n", - " 632.297983\n", - " -202.762988\n", - " \n", - " \n", - " 3\n", " Compressed File\n", " 167.518237\n", " 3.260960\n", @@ -976,23 +10506,1216 @@ " Name Closure Size (MB) Downloaded Size (MB) \\\n", "0 NAR 139.540192 3.335962 \n", "1 Casync 214.708487 4.380815 \n", - "2 File 636.211984 10.100060 \n", - "3 Compressed File 167.518237 3.260960 \n", + "2 Compressed File 167.518237 3.260960 \n", "\n", " Re-used Size (MB) DL Savings Compared to NAR (%) \n", "0 136.204230 0.000000 \n", "1 210.327671 -31.320878 \n", - "2 632.297983 -202.762988 \n", - "3 164.257277 2.248310 " + "2 164.257277 2.248310 " ] }, - "execution_count": 24, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 1980-01-01T00:00:00+00:00\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.4.2, https://matplotlib.org/\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", + " \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", + " \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", + " \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", + " \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" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "openmpi_bump_results = analyse_benchmark_results(b[\"openmpiBump\"])\n", + "openmpi_bump_results = analyse_benchmark_results(b[\"openmpiBump\"], False)\n", + "openmpi_bump_results.plot.bar(figsize=(12,5), x=\"Name\",y=\"Downloaded Size (MB)\",title=\"Volume to Download for the OpenMPI Bump (less is better)\", xlabel=\"\", ylabel=\"Size in MB\", color=\"#ff6a00\")\n", "openmpi_bump_results" ] } diff --git a/analysis-notebook/default.nix b/analysis-notebook/default.nix index 3efe7b2..d6ee0b2 100644 --- a/analysis-notebook/default.nix +++ b/analysis-notebook/default.nix @@ -5,7 +5,7 @@ let }) {}; iPython = jupyter.kernels.iPythonWith { name = "python"; - packages = p: with p; [ numpy pandas matplotlib ]; + packages = p: with p; [ numpy pandas matplotlib tabulate ]; }; jupyterEnvironment = jupyter.jupyterlabWith {