# Benchmarks ## Konfiguration _Angelehnt an Pierre Quentels [Brython Benchmarking 2015](https://brythonista.wordpress.com/2015/03/28/comparing-the-speed-of-cpython-brython-skulpt-and-pypy-js/)_ **Hinweis:** Pierre Quentel ist der Ersteller von Brython (→ Bias möglich) - Windows 10 64-bit - Firefox 104.0 64-bit - Neuste Version des jeweiligen Frameworks - 5 Läufe pro Framework - Neustart und Leerung jeglicher Caches nach jedem Lauf - Geometrisches Mittel der 5 Versuche ## Ergebnisse - CPython 3.10.6 - [Skulpt 1.3.0 @ Python 2.6(ish)](https://skulpt.org/) - [Brython 3.10.0 @ Python 3.10.6](https://brython.info/console.html) - [PyPy.js v0.4.0 @ Python 2.7.9](https://pypyjs.org/) - [Pyodide 0.21.1 @ Python 3.10.2](https://pyodide.org/en/stable/console.html) - [PyScript 2022.06.1 @ Python 3.10.2](https://pyscript.net/examples/repl.html) _Alle Messergebnisse inkl. Berechnung sind in `Benchmarks.xlsx` zu finden._ ```text Ausführungszeit (ms) CPython Skulpt Brython PyPy.js Pyodide PyScript assignment.py 47 1711 1242 1602 221 194 augm_assign.py 97 2919 2116 1828 378 325 assignment_float.py 44 1707 1306 1505 234 195 build_dict.py 112 2301 2071 2142 466 437 set_dict_item.py 67 1824 1455 2182 347 320 build_list.py 84 1924 1302 1527 440 412 set_list_item.py 73 2264 1432 1455 342 307 add_integers.py 106 4232 2298 1743 436 381 add_strings.py 154 3155 3440 1760 627 575 str_of_int.py 23 553 131 189 104 103 create_function.py 114 2862 2047 1521 526 479 function_call.py 117 2363 2090 1387 457 385 ``` ```text x-mal langsamer als CPython Skulpt Brython PyPy.js Pyodide PyScript assignment.py 36.4 26.4 34.1 4.7 4.1 augm_assign.py 30.1 21.8 18.8 3.9 3.4 assignment_float.py 38.8 29.7 34.2 5.3 4.4 build_dict.py 20.5 18.5 19.1 4.2 3.9 set_dict_item.py 27.2 21.7 32.6 5.2 4.8 build_list.py 22.9 15.5 18.2 5.2 4.9 set_list_item.py 31.0 19.6 19.9 4.7 4.2 add_integers.py 39.9 21.7 16.4 4.1 3.6 add_strings.py 20.5 22.3 11.4 4.1 3.7 str_of_int.py 24.0 5.7 8.2 4.5 4.5 create_function.py 25.1 18.0 13.3 4.6 4.2 function_call.py 20.2 11.9 11.9 3.9 3.3 ```