Last active
April 21, 2020 13:37
-
-
Save alexarchambault/d8f2fe2314feef65a57325cbd5009c0b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## How to run the benchmark\n", | |
"\n", | |
"Get data for the latest release (\"before\"):\n", | |
"```bash\n", | |
"$ cs launch coursier -- resolve --checksum none org.apache.spark:spark-repl_2.12:2.4.4 -B -100 2>&1 | tee before\n", | |
"```\n", | |
"\n", | |
"Get data for the PR (\"after\")\n", | |
"```bash\n", | |
"$ sbt cli/pack # ensure #1677 is checked-out before that\n", | |
"$ modules/cli/target/pack/bin/coursier resolve --checksum none org.apache.spark:spark-repl_2.12:2.4.4 -B -100 2>&1 | tee after\n", | |
"```" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"\u001b[32mimport \u001b[39m\u001b[36mjava.nio.file._\n", | |
"\u001b[39m\n", | |
"\u001b[32mimport \u001b[39m\u001b[36mjava.nio.charset.StandardCharsets\n", | |
"\n", | |
"\u001b[39m\n", | |
"defined \u001b[32mfunction\u001b[39m \u001b[36mbefore\u001b[39m\n", | |
"defined \u001b[32mfunction\u001b[39m \u001b[36mafter\u001b[39m" | |
] | |
}, | |
"execution_count": 1, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"import java.nio.file._\n", | |
"import java.nio.charset.StandardCharsets\n", | |
"\n", | |
"private val drop = 20\n", | |
"\n", | |
"private def load(file: Path): Seq[Int] = {\n", | |
" val input = new String(Files.readAllBytes(file), StandardCharsets.UTF_8)\n", | |
" input\n", | |
" .linesIterator\n", | |
" .map(_.trim)\n", | |
" .filter(_.endsWith(\" ms\"))\n", | |
" .map(_.stripSuffix(\" ms\"))\n", | |
" .drop(drop)\n", | |
" .map(_.toInt)\n", | |
" .toVector\n", | |
"}\n", | |
"\n", | |
"private val dir = Paths.get(\"/Users/alexandre/projects/coursier\")\n", | |
"def before = load(dir.resolve(\"before\"))\n", | |
"def after = load(dir.resolve(\"after\"))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"\n", | |
" <script type=\"text/javascript\">\n", | |
" require.config({\n", | |
" paths: {\n", | |
" d3: 'https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min',\n", | |
" plotly: 'https://cdn.plot.ly/plotly-1.41.3.min',\n", | |
" jquery: 'https://code.jquery.com/jquery-3.3.1.min'\n", | |
" },\n", | |
"\n", | |
" shim: {\n", | |
" plotly: {\n", | |
" deps: ['d3', 'jquery'],\n", | |
" exports: 'plotly'\n", | |
" }\n", | |
" }\n", | |
"});\n", | |
" \n", | |
"\n", | |
" require(['plotly'], function(Plotly) {\n", | |
" window.Plotly = Plotly;\n", | |
" });\n", | |
" </script>\n", | |
" " | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"application/vnd.plotly.v1+json": { | |
"data": [ | |
{ | |
"name": "after", | |
"type": "box", | |
"x": [ | |
468, | |
416, | |
438, | |
376, | |
460, | |
381, | |
373, | |
394, | |
429, | |
382, | |
401, | |
445, | |
365, | |
368, | |
354, | |
368, | |
387, | |
345, | |
379, | |
369, | |
361, | |
374, | |
371, | |
427, | |
347, | |
321, | |
322, | |
323, | |
324, | |
320, | |
321, | |
319, | |
342, | |
319, | |
319, | |
333, | |
401, | |
353, | |
366, | |
368, | |
365, | |
393, | |
353, | |
370, | |
374, | |
363, | |
349, | |
371, | |
356, | |
373, | |
362, | |
369, | |
381, | |
361, | |
371, | |
367, | |
359, | |
371, | |
347, | |
356, | |
385, | |
373, | |
351, | |
379, | |
344, | |
354, | |
371, | |
365, | |
357, | |
364, | |
373, | |
372, | |
359, | |
369, | |
368, | |
353, | |
365, | |
355, | |
364, | |
363, | |
350 | |
] | |
}, | |
{ | |
"name": "before", | |
"type": "box", | |
"x": [ | |
420, | |
414, | |
461, | |
399, | |
545, | |
393, | |
403, | |
331, | |
391, | |
399, | |
402, | |
374, | |
453, | |
379, | |
356, | |
327, | |
355, | |
362, | |
341, | |
348, | |
386, | |
339, | |
333, | |
353, | |
335, | |
367, | |
326, | |
339, | |
335, | |
338, | |
397, | |
380, | |
335, | |
336, | |
337, | |
347, | |
336, | |
341, | |
334, | |
336, | |
336, | |
392, | |
351, | |
353, | |
326, | |
340, | |
355, | |
323, | |
313, | |
305, | |
295, | |
299, | |
295, | |
301, | |
302, | |
306, | |
299, | |
287, | |
304, | |
305, | |
292, | |
301, | |
299, | |
335, | |
334, | |
310, | |
320, | |
353, | |
333, | |
333, | |
391, | |
325, | |
329, | |
354, | |
341, | |
328, | |
340, | |
344, | |
339, | |
332, | |
332 | |
] | |
} | |
], | |
"layout": { | |
"autosize": true, | |
"xaxis": { | |
"autorange": true, | |
"range": [ | |
272.6666666666667, | |
559.3333333333334 | |
], | |
"type": "linear" | |
}, | |
"yaxis": { | |
"autorange": true, | |
"range": [ | |
-0.5, | |
1.5 | |
], | |
"type": "category" | |
} | |
} | |
}, | |
"image/png": "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", | |
"text/html": [ | |
"<div class=\"chart\" id=\"plot-03663eb9-d354-4655-8438-e9097dbb32ef\"></div>\n", | |
"<script>require(['plotly'], function(Plotly) {\n", | |
" (function () {\n", | |
" var data0 = {\"x\":[468.0,416.0,438.0,376.0,460.0,381.0,373.0,394.0,429.0,382.0,401.0,445.0,365.0,368.0,354.0,368.0,387.0,345.0,379.0,369.0,361.0,374.0,371.0,427.0,347.0,321.0,322.0,323.0,324.0,320.0,321.0,319.0,342.0,319.0,319.0,333.0,401.0,353.0,366.0,368.0,365.0,393.0,353.0,370.0,374.0,363.0,349.0,371.0,356.0,373.0,362.0,369.0,381.0,361.0,371.0,367.0,359.0,371.0,347.0,356.0,385.0,373.0,351.0,379.0,344.0,354.0,371.0,365.0,357.0,364.0,373.0,372.0,359.0,369.0,368.0,353.0,365.0,355.0,364.0,363.0,350.0],\"name\":\"after\",\"type\":\"box\"};\n", | |
" var data1 = {\"x\":[420.0,414.0,461.0,399.0,545.0,393.0,403.0,331.0,391.0,399.0,402.0,374.0,453.0,379.0,356.0,327.0,355.0,362.0,341.0,348.0,386.0,339.0,333.0,353.0,335.0,367.0,326.0,339.0,335.0,338.0,397.0,380.0,335.0,336.0,337.0,347.0,336.0,341.0,334.0,336.0,336.0,392.0,351.0,353.0,326.0,340.0,355.0,323.0,313.0,305.0,295.0,299.0,295.0,301.0,302.0,306.0,299.0,287.0,304.0,305.0,292.0,301.0,299.0,335.0,334.0,310.0,320.0,353.0,333.0,333.0,391.0,325.0,329.0,354.0,341.0,328.0,340.0,344.0,339.0,332.0,332.0],\"name\":\"before\",\"type\":\"box\"};\n", | |
"\n", | |
" var data = [data0, data1];\n", | |
" var layout = {};\n", | |
"\n", | |
" Plotly.plot('plot-03663eb9-d354-4655-8438-e9097dbb32ef', data, layout);\n", | |
"})();\n", | |
"});\n", | |
" </script>\n", | |
" " | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"\u001b[32mimport \u001b[39m\u001b[36m$ivy.$ \n", | |
"\n", | |
"\u001b[39m\n", | |
"\u001b[32mimport \u001b[39m\u001b[36mplotly._\n", | |
"\u001b[39m\n", | |
"\u001b[32mimport \u001b[39m\u001b[36mplotly.element._\n", | |
"\u001b[39m\n", | |
"\u001b[32mimport \u001b[39m\u001b[36mplotly.layout._\n", | |
"\u001b[39m\n", | |
"\u001b[32mimport \u001b[39m\u001b[36mplotly.Almond._\n", | |
"\n", | |
"\u001b[39m" | |
] | |
}, | |
"execution_count": 2, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"import $ivy.`org.plotly-scala::plotly-almond:0.7.4`\n", | |
"\n", | |
"import plotly._\n", | |
"import plotly.element._\n", | |
"import plotly.layout._\n", | |
"import plotly.Almond._\n", | |
"\n", | |
"private def data = Seq(\n", | |
" Box(x = before, name = \"before\"),\n", | |
" Box(x = after, name = \"after\")\n", | |
")\n", | |
"\n", | |
"{ data.reverse.plot(); () }" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Scala", | |
"language": "scala", | |
"name": "scala" | |
}, | |
"language_info": { | |
"codemirror_mode": "text/x-scala", | |
"file_extension": ".scala", | |
"mimetype": "text/x-scala", | |
"name": "scala", | |
"nbconvert_exporter": "script", | |
"version": "2.13.1" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment