{"id":1127,"date":"2026-10-17T10:01:00","date_gmt":"2026-10-17T08:01:00","guid":{"rendered":"https:\/\/lewoniewski.info\/blog\/?p=1127"},"modified":"2026-10-17T14:30:40","modified_gmt":"2026-10-17T12:30:40","slug":"python-315-kontra-314-313-312-i-wczesniejsze-porownanie-wydajnosci","status":"publish","type":"post","link":"https:\/\/lewoniewski.info\/blog\/2026\/python-315-kontra-314-313-312-i-wczesniejsze-porownanie-wydajnosci\/","title":{"rendered":"Python 3.15 kontra 3.14, 3.13, 3.12 oraz wcze\u015bniejsze wersje: por\u00f3wnanie wydajno\u015bci"},"content":{"rendered":"<p>Jak bardzo zmieni\u0142a si\u0119 wydajno\u015b\u0107 Pythona mi\u0119dzy wersjami 3.6 a 3.15? Por\u00f3wnanie dziesi\u0119ciu wersji j\u0119zyka w 122 testach wydajno\u015bci pokazuje, \u017ce w wielu zastosowaniach czas wykonania znacznie si\u0119 skr\u00f3ci\u0142. S\u0105 jednak r\u00f3wnie\u017c testy, w kt\u00f3rych najni\u017csz\u0105 \u015bredni\u0105 uzyska\u0142a jedna z wcze\u015bniejszych wersji. Wyniki te mog\u0105 pom\u00f3c studentom, badaczom i programistom zrozumie\u0107, jak wydajno\u015b\u0107 Pythona zale\u017cy od rodzaju wykonywanych zada\u0144.<!--more--><\/p>\n<style>\n.pp-scroll { overflow-x: auto; margin: 1.5em 0; }\n.pp-scroll:focus-visible,\nsummary:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }\n.pp-table { border-collapse: collapse; width: 100%; font-size: 14px; line-height: 1.5; font-variant-numeric: tabular-nums; }\n.pp-table caption { caption-side: top; text-align: left; font-weight: 600; padding-bottom: 12px; color: #1e3a5f; }\n.pp-table th,\n.pp-table td { padding: 10px; border: 0; border-bottom: 1px solid #dbe5f0; text-align: right; white-space: nowrap; }\n.pp-table thead th { background: #eaf3ff; color: #163a63; border-bottom: 2px solid #b8d3f4; }\n.pp-table th:first-child,\n.pp-table td:first-child { text-align: left; }\n.pp-table td:first-child,\n.pp-table td:first-child code { white-space: nowrap; overflow-wrap: normal; word-break: normal; }\n.pp-table tbody tr:nth-child(odd) > td { background: #fff; }\n.pp-table tbody tr:nth-child(even) > td { background: #f6faff; }\n.pp-table tbody tr > td.pp-best { background: #dbeafe; color: #1d4f91; font-weight: 700; }\n.pp-text-table th,\n.pp-text-table td { text-align: left; }\n.pp-releases { padding-left: 1.5em; }\n.pp-releases li { margin-bottom: .8em; }\n.pp-results { margin: 1.5em 0; }\n.pp-results summary { cursor: pointer; font-weight: 700; padding: 12px; background: #e7f1ff; }\n<\/style>\n<div class=\"see-also\">\n<p>Zobacz r\u00f3wnie\u017c: <a href=\"https:\/\/lewoniewski.info\/blog\/2026\/python-3-14-kontra-python-3-15-test-wydajnosci\/\">Python 3.14 kontra Python 3.15 &#8211; test wydajno\u015bci<\/a><\/p>\n<\/div>\n<h2 id=\"test-system\">\u015arodowisko testowe i wersje Pythona<\/h2>\n<p>Testy przeprowadzono na komputerze stacjonarnym z procesorem AMD Ryzen 9 7900, pami\u0119ci\u0105 RAM DDR5 i dyskiem M.2 NVMe PCIe Gen4. Wszystkie testowane interpretery to 64-bitowe wersje Pythona dzia\u0142aj\u0105ce w systemie Windows 11.<\/p>\n<div aria-label=\"Konfiguracja \u015brodowiska testowego\" class=\"pp-scroll\" role=\"region\" tabindex=\"0\">\n<table class=\"pp-table pp-text-table\">\n<caption>Tabela 1. Konfiguracja \u015brodowiska testowego.<\/caption>\n<thead>\n<tr>\n<th scope=\"col\">Podzesp\u00f3\u0142<\/th>\n<th scope=\"col\">Konfiguracja<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Procesor<\/td>\n<td>AMD Ryzen 9 7900<\/td>\n<\/tr>\n<tr>\n<td>Pami\u0119\u0107<\/td>\n<td>RAM DDR5<\/td>\n<\/tr>\n<tr>\n<td>Dysk<\/td>\n<td>Dysk M.2 NVMe PCIe Gen4<\/td>\n<\/tr>\n<tr>\n<td>System operacyjny<\/td>\n<td>Windows 11<\/td>\n<\/tr>\n<tr>\n<td>Architektura interpretera<\/td>\n<td>64-bitowe wersje Pythona<\/td>\n<\/tr>\n<tr>\n<td>Uwzgl\u0119dnione testy wydajno\u015bci<\/td>\n<td>122 (67 przeprowadzonych we wszystkich wersjach)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div aria-label=\"Wersje Pythona i zestawu test\u00f3w wydajno\u015bci\" class=\"pp-scroll\" role=\"region\" tabindex=\"0\">\n<table class=\"pp-table pp-text-table\">\n<caption>Tabela 2. Wersje testowanych interpreter\u00f3w i zestawu pyperformance, od najnowszych. Ka\u017cde dok\u0142adne oznaczenie wersji zawiera odno\u015bnik do oficjalnej strony wydania w serwisie python.org.<\/caption>\n<thead>\n<tr>\n<th scope=\"col\">Wersja Pythona<\/th>\n<th scope=\"col\">Testowana wersja<\/th>\n<th scope=\"col\">Wersja pyperformance<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Python 3.15<\/td>\n<td><a href=\"https:\/\/www.python.org\/downloads\/release\/python-3150\/\" target=\"_blank\">3.15.0<\/a><\/td>\n<td>1.14.0<\/td>\n<\/tr>\n<tr>\n<td>Python 3.14<\/td>\n<td><a href=\"https:\/\/www.python.org\/downloads\/release\/python-3148\/\" target=\"_blank\">3.14.8<\/a><\/td>\n<td>1.14.0<\/td>\n<\/tr>\n<tr>\n<td>Python 3.13<\/td>\n<td><a href=\"https:\/\/www.python.org\/downloads\/release\/python-31316\/\" target=\"_blank\">3.13.16<\/a><\/td>\n<td>1.14.0<\/td>\n<\/tr>\n<tr>\n<td>Python 3.12<\/td>\n<td><a href=\"https:\/\/www.python.org\/downloads\/release\/python-31210\/\" target=\"_blank\">3.12.10<\/a><\/td>\n<td>1.14.0<\/td>\n<\/tr>\n<tr>\n<td>Python 3.11<\/td>\n<td><a href=\"https:\/\/www.python.org\/downloads\/release\/python-3119\/\" target=\"_blank\">3.11.9<\/a><\/td>\n<td>1.14.0<\/td>\n<\/tr>\n<tr>\n<td>Python 3.10<\/td>\n<td><a href=\"https:\/\/www.python.org\/downloads\/release\/python-31011\/\" target=\"_blank\">3.10.11<\/a><\/td>\n<td>1.14.0<\/td>\n<\/tr>\n<tr>\n<td>Python 3.9<\/td>\n<td><a href=\"https:\/\/www.python.org\/downloads\/release\/python-3913\/\" target=\"_blank\">3.9.13<\/a><\/td>\n<td>1.11.0<\/td>\n<\/tr>\n<tr>\n<td>Python 3.8<\/td>\n<td><a href=\"https:\/\/www.python.org\/downloads\/release\/python-3810\/\" target=\"_blank\">3.8.10<\/a><\/td>\n<td>1.11.0<\/td>\n<\/tr>\n<tr>\n<td>Python 3.7<\/td>\n<td><a href=\"https:\/\/www.python.org\/downloads\/release\/python-379\/\" target=\"_blank\">3.7.9<\/a><\/td>\n<td>1.0.6<\/td>\n<\/tr>\n<tr>\n<td>Python 3.6<\/td>\n<td><a href=\"https:\/\/www.python.org\/downloads\/release\/python-368\/\" target=\"_blank\">3.6.8<\/a><\/td>\n<td>1.0.6<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><strong>Uwaga dotycz\u0105ca por\u00f3wnywalno\u015bci wynik\u00f3w:<\/strong> pliki z wynikami pochodz\u0105 z trzech wersji zestawu test\u00f3w <a href=\"https:\/\/pyperformance.readthedocs.io\/\" target=\"_blank\">pyperformance<\/a>: 1.0.6, 1.11.0 i 1.14.0. Korzystanie z r\u00f3\u017cnych wersji by\u0142o konieczne, poniewa\u017c nowsze wydania pyperformance powodowa\u0142y problemy ze zgodno\u015bci\u0105 lub b\u0142\u0119dy podczas pracy ze starszymi interpreterami Pythona. Tam, gdzie by\u0142o to potrzebne, zastosowano wi\u0119c starsze wydania zestawu test\u00f3w. Sama zgodno\u015b\u0107 nazwy testu nie oznacza, \u017ce jego implementacja i zale\u017cno\u015bci pozosta\u0142y niezmienione. Dlatego r\u00f3\u017cnic mi\u0119dzy wynikami uzyskanymi przy u\u017cyciu r\u00f3\u017cnych wyda\u0144 zestawu test\u00f3w nie mo\u017cna przypisywa\u0107 wy\u0142\u0105cznie zmianom w interpreterze Pythona.<\/p>\n<h2 id=\"python-release-highlights\">Co zmieni\u0142o si\u0119 w poszczeg\u00f3lnych wersjach Pythona?<\/h2>\n<p>Poni\u017cej przedstawiono wybrane funkcje wprowadzone w kolejnych wersjach Pythona, od 3.15 do 3.6. Informacje te stanowi\u0105 kontekst historyczny. Sama obecno\u015b\u0107 danej funkcji nie oznacza, \u017ce by\u0142a ona w\u0142\u0105czona podczas test\u00f3w ani \u017ce wp\u0142yn\u0119\u0142a na uzyskane wyniki.<\/p>\n<ul class=\"pp-releases\">\n<li><strong><a href=\"https:\/\/docs.python.org\/3\/whatsnew\/3.15.html\" target=\"_blank\">Python 3.15<\/a>:<\/strong> Wprowadzono jawne importy op\u00f3\u017anione, rozpakowywanie warto\u015bci w wyra\u017ceniach sk\u0142adanych oraz nowy pakiet do profilowania, zawieraj\u0105cy profiler pr\u00f3bkowy Tachyon.<\/li>\n<li><strong><a href=\"https:\/\/docs.python.org\/3\/whatsnew\/3.14.html\" target=\"_blank\">Python 3.14<\/a>:<\/strong> Wprowadzono szablonowe litera\u0142y \u0142a\u0144cuchowe (t-strings), odroczone obliczanie adnotacji oraz obs\u0142ug\u0119 wielu interpreter\u00f3w w bibliotece standardowej.<\/li>\n<li><strong><a href=\"https:\/\/docs.python.org\/3\/whatsnew\/3.13.html\" target=\"_blank\">Python 3.13<\/a>:<\/strong> Wprowadzono przebudowany interpreter interaktywny, eksperymentalny wariant Pythona umo\u017cliwiaj\u0105cy prac\u0119 wielow\u0105tkow\u0105 bez GIL oraz eksperymentalny kompilator JIT (just-in-time).<\/li>\n<li><strong><a href=\"https:\/\/docs.python.org\/3\/whatsnew\/3.12.html\" target=\"_blank\">Python 3.12<\/a>:<\/strong> Wprowadzono sk\u0142adni\u0119 parametr\u00f3w typ\u00f3w, bardziej elastyczny zapis f-string\u00f3w oraz mo\u017cliwo\u015b\u0107 korzystania z osobnej globalnej blokady interpretera (GIL) w ka\u017cdym podinterpreterze.<\/li>\n<li><strong><a href=\"https:\/\/docs.python.org\/3\/whatsnew\/3.11.html\" target=\"_blank\">Python 3.11<\/a>:<\/strong> Wprowadzono adaptacyjn\u0105 specjalizacj\u0119 kodu w CPythonie, grupy wyj\u0105tk\u00f3w i sk\u0142adni\u0119 <code>except*<\/code> oraz <code>asyncio.TaskGroup<\/code> do zarz\u0105dzania powi\u0105zanymi zadaniami asynchronicznymi.<\/li>\n<li><strong><a href=\"https:\/\/docs.python.org\/3\/whatsnew\/3.10.html\" target=\"_blank\">Python 3.10<\/a>:<\/strong> Wprowadzono strukturalne dopasowywanie wzorc\u00f3w za pomoc\u0105 <code>match<\/code> i <code>case<\/code>, adnotacje typ\u00f3w unii w zapisie <code>X | Y<\/code> oraz czytelniejsze komunikaty o b\u0142\u0119dach.<\/li>\n<li><strong><a href=\"https:\/\/docs.python.org\/3\/whatsnew\/3.9.html\" target=\"_blank\">Python 3.9<\/a>:<\/strong> Dodano operatory \u0142\u0105czenia s\u0142ownik\u00f3w, adnotacje typ\u00f3w korzystaj\u0105ce z wbudowanych kolekcji, np. <code>list[int]<\/code>, oraz modu\u0142 <code>zoneinfo<\/code> obs\u0142uguj\u0105cy strefy czasowe IANA.<\/li>\n<li><strong><a href=\"https:\/\/docs.python.org\/3\/whatsnew\/3.8.html\" target=\"_blank\">Python 3.8<\/a>:<\/strong> Wprowadzono wyra\u017cenia przypisania z operatorem morsa (<code>:=<\/code>), parametry wy\u0142\u0105cznie pozycyjne oraz obs\u0142ug\u0119 pami\u0119ci wsp\u00f3\u0142dzielonej w module <code>multiprocessing<\/code>.<\/li>\n<li><strong><a href=\"https:\/\/docs.python.org\/3\/whatsnew\/3.7.html\" target=\"_blank\">Python 3.7<\/a>:<\/strong> Wprowadzono klasy danych (<code>dataclasses<\/code>), zmienne kontekstowe do zarz\u0105dzania stanem zale\u017cnym od kontekstu oraz wbudowan\u0105 funkcj\u0119 <code>breakpoint()<\/code>.<\/li>\n<li><strong><a href=\"https:\/\/docs.python.org\/3\/whatsnew\/3.6.html\" target=\"_blank\">Python 3.6<\/a>:<\/strong> Wprowadzono formatowane litera\u0142y \u0142a\u0144cuchowe (f-stringi), adnotacje zmiennych oraz generatory asynchroniczne.<\/li>\n<\/ul>\n<h2 id=\"methodology\">Spos\u00f3b obliczania wynik\u00f3w test\u00f3w wydajno\u015bci<\/h2>\n<p>W analizie wykorzystano pr\u00f3bki pomiarowe zapisane w plikach JSON narz\u0119dzia pyperf. Pomini\u0119to dane pochodz\u0105ce z kalibracji i fazy rozgrzewania. Dla ka\u017cdego testu obliczono \u015bredni\u0105 arytmetyczn\u0105 zmierzonych warto\u015bci w obr\u0119bie danej wersji Pythona. Czasy zapisane w plikach zosta\u0142y ju\u017c przeliczone na pojedyncz\u0105 iteracj\u0119 p\u0119tli testowej.<\/p>\n<p>Uwzgl\u0119dniono wy\u0142\u0105cznie testy, dla kt\u00f3rych dost\u0119pny jest wynik Pythona 3.15. Oznacza to wykluczenie sze\u015bciu test\u00f3w: <code>genshi_text<\/code>, <code>genshi_xml<\/code>, <code>sqlglot_normalize<\/code>, <code>sqlglot_optimize<\/code>, <code>sqlglot_parse<\/code> i <code>sqlglot_transpile<\/code>. Brakuj\u0105ce wyniki oznaczono my\u015blnikiem (nie traktowano ich jako warto\u015bci zerowych ani nieudanych test\u00f3w).<\/p>\n<p>W tabelach <strong>pogrubione zielone warto\u015bci oznaczone gwiazdk\u0105 \u2605 wskazuj\u0105 najni\u017csz\u0105 \u015bredni\u0105 w danym wierszu, ustalon\u0105 przed zaokr\u0105gleniem<\/strong>. Im kr\u00f3tszy czas wykonania, tym lepszy wynik. Jednostk\u0119 podano osobno dla ka\u017cdego wiersza: ms oznacza milisekundy, a \u00b5s \u2013 mikrosekundy. Dla czytelno\u015bci warto\u015bci zaokr\u0105glono do czterech cyfr znacz\u0105cych. Wyr\u00f3\u017cnienia odnosz\u0105 si\u0119 do zaobserwowanych \u015brednich.<\/p>\n<h2 id=\"benchmark-results\">Python 3.6\u20133.15: wybrane wyniki test\u00f3w<\/h2>\n<p>Tabela 3 przedstawia wybrane testy, dla kt\u00f3rych dost\u0119pne s\u0105 wyniki wszystkich dziesi\u0119ciu wersji Pythona. Kolumny uporz\u0105dkowano od wersji 3.15 do 3.6. Pokazano zar\u00f3wno przyk\u0142ady poprawy wydajno\u015bci, jak i zadania, w kt\u00f3rych Python 3.15 nie uzyska\u0142 najlepszego wyniku. W dalszej cz\u0119\u015bci artyku\u0142u znajduje si\u0119 pe\u0142na tabela obejmuj\u0105ca 122 testy, kt\u00f3ra umo\u017cliwia sprawdzenie tych przyk\u0142ad\u00f3w na tle ca\u0142ego zestawu danych. Szerokie tabele mo\u017cna przewija\u0107 w poziomie.<\/p>\n<div aria-label=\"Wybrane czasy wykonania test\u00f3w dla Pythona od 3.6 do 3.15\" class=\"pp-scroll\" role=\"region\" tabindex=\"0\">\n<table class=\"pp-table\">\n<caption>Tabela 3. Wybrane testy przeprowadzone we wszystkich dziesi\u0119ciu wersjach. \u2605 = najni\u017csza zarejestrowana \u015brednia w danym wierszu.<\/caption>\n<thead>\n<tr>\n<th scope=\"col\">Test<\/th>\n<th scope=\"col\">Jednostka<\/th>\n<th scope=\"col\">Python 3.15<\/th>\n<th scope=\"col\">Python 3.14<\/th>\n<th scope=\"col\">Python 3.13<\/th>\n<th scope=\"col\">Python 3.12<\/th>\n<th scope=\"col\">Python 3.11<\/th>\n<th scope=\"col\">Python 3.10<\/th>\n<th scope=\"col\">Python 3.9<\/th>\n<th scope=\"col\">Python 3.8<\/th>\n<th scope=\"col\">Python 3.7<\/th>\n<th scope=\"col\">Python 3.6<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>async_tree_io<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>558,8 \u2605<\/strong><\/td>\n<td>617,5<\/td>\n<td>577,6<\/td>\n<td>864,9<\/td>\n<td>964,0<\/td>\n<td>1321<\/td>\n<td>1342<\/td>\n<td>1353<\/td>\n<td>1340<\/td>\n<td>1419<\/td>\n<\/tr>\n<tr>\n<td><code>deltablue<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>1,669 \u2605<\/strong><\/td>\n<td>2,508<\/td>\n<td>2,249<\/td>\n<td>2,401<\/td>\n<td>2,576<\/td>\n<td>4,298<\/td>\n<td>4,004<\/td>\n<td>4,060<\/td>\n<td>4,441<\/td>\n<td>5,260<\/td>\n<\/tr>\n<tr>\n<td><code>dulwich_log<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>44,74 \u2605<\/strong><\/td>\n<td>48,84<\/td>\n<td>47,16<\/td>\n<td>50,01<\/td>\n<td>49,22<\/td>\n<td>58,85<\/td>\n<td>59,76<\/td>\n<td>58,69<\/td>\n<td>64,96<\/td>\n<td>65,13<\/td>\n<\/tr>\n<tr>\n<td><code>fannkuch<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>208,5 \u2605<\/strong><\/td>\n<td>280,5<\/td>\n<td>251,0<\/td>\n<td>243,7<\/td>\n<td>237,4<\/td>\n<td>259,9<\/td>\n<td>254,6<\/td>\n<td>264,9<\/td>\n<td>300,1<\/td>\n<td>304,3<\/td>\n<\/tr>\n<tr>\n<td><code>json_dumps<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>4,862 \u2605<\/strong><\/td>\n<td>6,731<\/td>\n<td>6,180<\/td>\n<td>5,920<\/td>\n<td>7,629<\/td>\n<td>8,065<\/td>\n<td>8,268<\/td>\n<td>8,332<\/td>\n<td>8,793<\/td>\n<td>9,014<\/td>\n<\/tr>\n<tr>\n<td><code>json_loads<\/code><\/td>\n<td>\u00b5s<\/td>\n<td>13,06<\/td>\n<td>14,53<\/td>\n<td>14,62<\/td>\n<td>14,33<\/td>\n<td class=\"pp-best\"><strong>12,79 \u2605<\/strong><\/td>\n<td>13,34<\/td>\n<td>13,98<\/td>\n<td>15,08<\/td>\n<td>16,56<\/td>\n<td>17,48<\/td>\n<\/tr>\n<tr>\n<td><code>nbody<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>62,13 \u2605<\/strong><\/td>\n<td>89,91<\/td>\n<td>81,61<\/td>\n<td>81,79<\/td>\n<td>72,83<\/td>\n<td>89,64<\/td>\n<td>83,77<\/td>\n<td>77,54<\/td>\n<td>97,39<\/td>\n<td>96,01<\/td>\n<\/tr>\n<tr>\n<td><code>richards<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>22,75 \u2605<\/strong><\/td>\n<td>31,37<\/td>\n<td>30,20<\/td>\n<td>27,37<\/td>\n<td>29,19<\/td>\n<td>41,73<\/td>\n<td>38,45<\/td>\n<td>39,53<\/td>\n<td>42,26<\/td>\n<td>50,17<\/td>\n<\/tr>\n<tr>\n<td><code>spectral_norm<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>52,58 \u2605<\/strong><\/td>\n<td>77,96<\/td>\n<td>74,42<\/td>\n<td>75,18<\/td>\n<td>73,23<\/td>\n<td>81,42<\/td>\n<td>80,50<\/td>\n<td>80,31<\/td>\n<td>99,75<\/td>\n<td>97,18<\/td>\n<\/tr>\n<tr>\n<td><code>regex_dna<\/code><\/td>\n<td>ms<\/td>\n<td>118,7<\/td>\n<td>107,9<\/td>\n<td>105,8<\/td>\n<td class=\"pp-best\"><strong>99,72 \u2605<\/strong><\/td>\n<td>101,0<\/td>\n<td>110,0<\/td>\n<td>107,5<\/td>\n<td>113,7<\/td>\n<td>122,7<\/td>\n<td>121,4<\/td>\n<\/tr>\n<tr>\n<td><code>python_startup<\/code><\/td>\n<td>ms<\/td>\n<td>34,36<\/td>\n<td>35,18<\/td>\n<td>24,99<\/td>\n<td>33,05<\/td>\n<td>36,57<\/td>\n<td>24,15<\/td>\n<td>33,62<\/td>\n<td>24,13<\/td>\n<td>26,80<\/td>\n<td class=\"pp-best\"><strong>23,04 \u2605<\/strong><\/td>\n<\/tr>\n<tr>\n<td><code>python_startup_no_site<\/code><\/td>\n<td>ms<\/td>\n<td>29,23<\/td>\n<td>29,09<\/td>\n<td>19,93<\/td>\n<td>27,34<\/td>\n<td>26,76<\/td>\n<td>19,83<\/td>\n<td>28,93<\/td>\n<td>19,81<\/td>\n<td>23,32<\/td>\n<td class=\"pp-best\"><strong>18,62 \u2605<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>W te\u015bcie <code>async_tree_io<\/code> \u015bredni czas wykonania spad\u0142 z 1418,8 ms w Pythonie 3.6 do 558,8 ms w Pythonie 3.15, czyli o 60,6%. W te\u015bcie <code>json_dumps<\/code> skr\u00f3cenie czasu w tym samym por\u00f3wnaniu wynios\u0142o 46,1%. Wyniki te dotycz\u0105 konkretnych obci\u0105\u017ce\u0144 i nie oznaczaj\u0105, \u017ce ka\u017cda aplikacja napisana w Pythonie b\u0119dzie dzia\u0142a\u0142a odpowiednio szybciej.<\/p>\n<p>R\u00f3wnie interesuj\u0105ce s\u0105 wyj\u0105tki. Python 3.11 uzyska\u0142 najni\u017csz\u0105 \u015bredni\u0105 w te\u015bcie <code>json_loads<\/code>, a Python 3.12 \u2013 w te\u015bcie <code>regex_dna<\/code>. Python 3.6 osi\u0105gn\u0105\u0142 najkr\u00f3tsze \u015brednie czasy uruchamiania w wykorzystanych tu \u015brodowiskach wirtualnych. Nie dowodzi to jednak, \u017ce sam interpreter tej wersji uruchamia si\u0119 z natury szybciej. W przypadku kr\u00f3tkiego programu uruchamianego z wiersza polece\u0144 czas startu mo\u017ce mie\u0107 wi\u0119ksze znaczenie ni\u017c czas wykonywania d\u0142ugotrwa\u0142ych oblicze\u0144. Okre\u015blenie jednej wersji mianem \u201enajszybszego Pythona\u201d zaciera\u0142oby te r\u00f3\u017cnice.<\/p>\n<h2 id=\"startup-times\">Jak interpretowa\u0107 wyniki testu czasu uruchamiania Pythona?<\/h2>\n<p>Testy uruchamiania mierz\u0105 czas potrzebny na uruchomienie Pythona, wykonanie pustego polecenia i zako\u0144czenie procesu. Drugi test, oznaczony jako <code>python_startup_no_site<\/code>, pomija standardowy etap uruchamiania zwi\u0105zany z przygotowaniem \u015brodowiska do korzystania z zainstalowanych pakiet\u00f3w. Czas startu ma szczeg\u00f3lne znaczenie dla niewielkich skrypt\u00f3w, kt\u00f3re s\u0105 cz\u0119sto uruchamiane i szybko ko\u0144cz\u0105 dzia\u0142anie.<\/p>\n<p>Python 3.6 uzyska\u0142 tu najkr\u00f3tsze czasy uruchamiania, ale znaczenie ma r\u00f3wnie\u017c spos\u00f3b uruchamiania interpretera. Testy wykonywano w \u015brodowiskach wirtualnych, czyli odr\u0119bnych \u015brodowiskach Pythona utworzonych na potrzeby pomiar\u00f3w. W systemie Windows nowsze wersje mog\u0105 korzysta\u0107 z dodatkowego programu uruchamiaj\u0105cego interpreter z takiego \u015brodowiska, co mo\u017ce wyd\u0142u\u017ca\u0107 zmierzony czas. Zmian\u0119 t\u0119, wprowadzon\u0105 w Pythonie 3.7.2, opisuje <a href=\"https:\/\/docs.python.org\/3.14\/library\/venv.html\" target=\"_blank\">oficjalna dokumentacja Pythona<\/a>.<\/p>\n<p>Polecenia s\u0142u\u017c\u0105ce do uruchamiania Pythona pozosta\u0142y niezmienione we wszystkich trzech wykorzystanych wersjach pakietu pyperformance (<a href=\"https:\/\/pypi.org\/project\/pyperformance\/1.0.6\/\">1.0.6<\/a>, <a href=\"https:\/\/pypi.org\/project\/pyperformance\/1.11.0\/\">1.11.0<\/a> i <a href=\"https:\/\/pypi.org\/project\/pyperformance\/1.14.0\/\">1.14.0<\/a>). Jednak w poszczeg\u00f3lnych pomiarach u\u017cyto r\u00f3\u017cnych wersji biblioteki pyperf, odpowiedzialnej za uruchamianie proces\u00f3w i mierzenie czasu ich wykonania: odpowiednio 2.5.0, 2.6.3 i 2.10.0. Oznacza to, \u017ce zakres wykonywanych operacji by\u0142 taki sam, ale ca\u0142e \u015brodowisko pomiarowe nie by\u0142o identyczne.<\/p>\n<h2 id=\"encoding-benchmarks\">Testy kodowania danych w Pythonie 3.10\u20133.15<\/h2>\n<p>Dla test\u00f3w kodowania danych przedstawionych poni\u017cej nie ma wynik\u00f3w Pythona 3.6\u20133.9, dlatego tabela 4 por\u00f3wnuje jedynie wersje 3.10\u20133.15. We wszystkich sze\u015bciu wersjach Pythona zastosowano pyperformance 1.14.0. W tym przypadku wyniki nie s\u0105 wi\u0119c obci\u0105\u017cone r\u00f3\u017cnic\u0105 wersji zestawu test\u00f3w.<\/p>\n<div aria-label=\"Czasy wykonania test\u00f3w kodowania danych dla Pythona od 3.10 do 3.15\" class=\"pp-scroll\" role=\"region\" tabindex=\"0\">\n<table class=\"pp-table\">\n<caption>Tabela 4. Wybrane testy kodowania danych. \u2605 = najni\u017csza zarejestrowana \u015brednia spo\u015br\u00f3d wersji Pythona 3.10\u20133.15.<\/caption>\n<thead>\n<tr>\n<th scope=\"col\">Test<\/th>\n<th scope=\"col\">Jednostka<\/th>\n<th scope=\"col\">Python 3.15<\/th>\n<th scope=\"col\">Python 3.14<\/th>\n<th scope=\"col\">Python 3.13<\/th>\n<th scope=\"col\">Python 3.12<\/th>\n<th scope=\"col\">Python 3.11<\/th>\n<th scope=\"col\">Python 3.10<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>ascii85_large<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>11,62 \u2605<\/strong><\/td>\n<td>797,9<\/td>\n<td>709,0<\/td>\n<td>772,3<\/td>\n<td>643,8<\/td>\n<td>759,2<\/td>\n<\/tr>\n<tr>\n<td><code>ascii85_small<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>0,3875 \u2605<\/strong><\/td>\n<td>14,88<\/td>\n<td>13,20<\/td>\n<td>13,79<\/td>\n<td>12,18<\/td>\n<td>14,18<\/td>\n<\/tr>\n<tr>\n<td><code>base16_large<\/code><\/td>\n<td>ms<\/td>\n<td>5,767<\/td>\n<td class=\"pp-best\"><strong>4,714 \u2605<\/strong><\/td>\n<td>22,52<\/td>\n<td>23,08<\/td>\n<td>23,89<\/td>\n<td>23,71<\/td>\n<\/tr>\n<tr>\n<td><code>base32_large<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>2,431 \u2605<\/strong><\/td>\n<td>327,6<\/td>\n<td>300,7<\/td>\n<td>296,4<\/td>\n<td>265,7<\/td>\n<td>292,1<\/td>\n<\/tr>\n<tr>\n<td><code>base32_small<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>0,1630 \u2605<\/strong><\/td>\n<td>6,227<\/td>\n<td>5,802<\/td>\n<td>5,594<\/td>\n<td>5,134<\/td>\n<td>5,641<\/td>\n<\/tr>\n<tr>\n<td><code>base64_large<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>1,852 \u2605<\/strong><\/td>\n<td>6,746<\/td>\n<td>6,187<\/td>\n<td>6,095<\/td>\n<td>6,116<\/td>\n<td>6,071<\/td>\n<\/tr>\n<tr>\n<td><code>base85_large<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>4,293 \u2605<\/strong><\/td>\n<td>272,4<\/td>\n<td>252,9<\/td>\n<td>258,8<\/td>\n<td>230,1<\/td>\n<td>259,2<\/td>\n<\/tr>\n<tr>\n<td><code>base85_small<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>0,1505 \u2605<\/strong><\/td>\n<td>4,864<\/td>\n<td>4,484<\/td>\n<td>4,529<\/td>\n<td>4,198<\/td>\n<td>4,712<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Niekt\u00f3re odnotowane r\u00f3\u017cnice s\u0105 szczeg\u00f3lnie du\u017ce. W te\u015bcie <code>base32_large<\/code> \u015bredni czas wyni\u00f3s\u0142 327,6 ms w Pythonie 3.14 i 2,431 ms w Pythonie 3.15. Przed wyci\u0105gni\u0119ciem wniosk\u00f3w o przyczynach tak du\u017cej r\u00f3\u017cnicy warto osobno zweryfikowa\u0107 implementacj\u0119 testu i \u015brodowisko jego wykonania. Z kolei Python 3.14 uzyska\u0142 najni\u017csz\u0105 \u015bredni\u0105 w te\u015bcie <code>base16_large<\/code> \u2013 nowsza wersja nie wygrywa wi\u0119c we wszystkich testach kodowania danych.<\/p>\n<h2 id=\"video-charts\">Animowane wykresy wideo<\/h2>\n<p>Animacja pokazuje kolejne testy wydajno\u015bci, po jednym naraz. D\u0142ugo\u015b\u0107 s\u0142upka obliczono wed\u0142ug wzoru: <strong>100 \u00d7 \u015bredni czas danej wersji \u00f7 najwi\u0119kszy \u015bredni czas uzyskany w danym te\u015bcie<\/strong>. Najwolniejszy wynik ma zatem warto\u015b\u0107 100%. Je\u015bli s\u0142upek ma d\u0142ugo\u015b\u0107 60%, oznacza to czas wykonania kr\u00f3tszy o 40% od najwolniejszego wyniku, a nie popraw\u0119 szybko\u015bci o 60%.<\/p>\n<p style=\"text-align:center;\">Obejrzyj <a href=\"https:\/\/www.youtube.com\/watch?v=Hw5W1bgJKbc\" target=\"_blank\">ca\u0142y film<\/a>:<br \/>\n<iframe loading=\"lazy\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen=\"\" frameborder=\"0\" height=\"315\" referrerpolicy=\"strict-origin-when-cross-origin\" src=\"https:\/\/www.youtube.com\/embed\/Hw5W1bgJKbc\" title=\"Odtwarzacz wideo YouTube\" width=\"560\"><\/iframe><\/p>\n<p>Kolor turkusowy oznacza szybsze wyniki w danym te\u015bcie, bursztynowy \u2013 po\u015brednie, a czerwony \u2013 wolniejsze. Obok s\u0142upk\u00f3w podano rzeczywiste czasy wykonania. Ka\u017cdy test ma w\u0142asn\u0105 skal\u0119, dlatego d\u0142ugo\u015bci s\u0142upk\u00f3w nale\u017cy por\u00f3wnywa\u0107 wy\u0142\u0105cznie w obr\u0119bie tego samego wykresu.<\/p>\n<h2 id=\"amd-vs-intel\">AMD kontra Intel: czy trendy wydajno\u015bci Pythona s\u0105 podobne?<\/h2>\n<p>Z opublikowanych wynik\u00f3w dla procesor\u00f3w AMD i Intel wynika, \u017ce wyb\u00f3r procesora nie musi istotnie zmienia\u0107 og\u00f3lnych trend\u00f3w widocznych przy por\u00f3wnywaniu wersji Pythona. <a href=\"https:\/\/lewoniewski.info\/blog\/2026\/python-3-14-kontra-python-3-15-test-wydajnosci\/\">Por\u00f3wnanie Pythona 3.14 i 3.15 z 2026 roku<\/a> wykaza\u0142o geometryczn\u0105 \u015bredni\u0105 przyspieszenia na podobnym poziomie zar\u00f3wno na komputerze stacjonarnym z AMD Ryzen 9 7900, jak i na minikomputerze z Intel Core i3-1315U. Warto\u015bci te podsumowuj\u0105 wzgl\u0119dn\u0105 popraw\u0119 wydajno\u015bci Pythona 3.15 wzgl\u0119dem wersji 3.14 na ka\u017cdym z komputer\u00f3w. S\u0105 jednakowe po zaokr\u0105gleniu, ale zestawy test\u00f3w nie by\u0142y identyczne: na AMD przeprowadzono 122 testy, a na Intelu \u2013 118.<\/p>\n<p><a href=\"https:\/\/lewoniewski.info\/blog\/2025\/python-314-kontra-313-312-311-310-test-wydajnosci-wideo\/\">Por\u00f3wnanie Pythona 3.10\u20133.14 z 2025 roku<\/a> r\u00f3wnie\u017c pokazuje podobne tendencje w kilku rodzajach obci\u0105\u017ce\u0144 na obu platformach. Przyk\u0142adowo przej\u015bcie z Pythona 3.13 na 3.14 skr\u00f3ci\u0142o czas w te\u015bcie <code>async_tree_io<\/code> z 576 do 453 ms na AMD oraz z 580 do 448 ms na Intelu, czyli odpowiednio o oko\u0142o 21% i 23%.<\/p>\n<p>\u0141\u0105cznie przyk\u0142ady te wskazuj\u0105 na podobne wzgl\u0119dne trendy wydajno\u015bci na obu badanych komputerach. Bezwzgl\u0119dne czasy wykonania i kolejno\u015b\u0107 wersji Pythona w poszczeg\u00f3lnych testach mog\u0105 si\u0119 jednak r\u00f3\u017cni\u0107. Komputery r\u00f3\u017cni\u0105 si\u0119 te\u017c konfiguracj\u0105 pami\u0119ci i konstrukcj\u0105, dlatego takie por\u00f3wnania nie pozwalaj\u0105 wyodr\u0119bni\u0107 wp\u0142ywu samej marki procesora ani stwierdzi\u0107 statystycznej r\u00f3wnowa\u017cno\u015bci wynik\u00f3w AMD i Intela. Je\u015bli istotna jest dok\u0142adna wydajno\u015b\u0107 konkretnej aplikacji, nadal potrzebne s\u0105 testy na docelowym sprz\u0119cie.<\/p>\n<h2 id=\"full-results\">Pe\u0142ne por\u00f3wnanie: wszystkie 122 testy<\/h2>\n<p>Rozwijana tabela zawiera wszystkie 122 uwzgl\u0119dnione testy i wyniki dziesi\u0119ciu wersji Pythona. Gwiazdka oznacza najni\u017csz\u0105 z dost\u0119pnych \u015brednich w danym wierszu. W ca\u0142ym zestawieniu zastosowano ten sam spos\u00f3b obliczania wynik\u00f3w, oznaczania brakuj\u0105cych warto\u015bci i zaokr\u0105glania liczb.<\/p>\n<details class=\"pp-results\">\n<summary>Poka\u017c wyniki wszystkich 122 test\u00f3w<\/summary>\n<div aria-label=\"Pe\u0142ne por\u00f3wnanie wydajno\u015bci Pythona obejmuj\u0105ce 122 testy\" class=\"pp-scroll\" role=\"region\" tabindex=\"0\">\n<table class=\"pp-table\">\n<caption>Tabela 5. Pe\u0142ny zestaw wynik\u00f3w 122 test\u00f3w. \u2605 oznacza najni\u017csz\u0105 zarejestrowan\u0105 \u015bredni\u0105, a my\u015blnik \u2013 brak wyniku.<\/caption>\n<thead>\n<tr>\n<th scope=\"col\">Test<\/th>\n<th scope=\"col\">Jednostka<\/th>\n<th scope=\"col\">Python 3.15<\/th>\n<th scope=\"col\">Python 3.14<\/th>\n<th scope=\"col\">Python 3.13<\/th>\n<th scope=\"col\">Python 3.12<\/th>\n<th scope=\"col\">Python 3.11<\/th>\n<th scope=\"col\">Python 3.10<\/th>\n<th scope=\"col\">Python 3.9<\/th>\n<th scope=\"col\">Python 3.8<\/th>\n<th scope=\"col\">Python 3.7<\/th>\n<th scope=\"col\">Python 3.6<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>2to3<\/code><\/td>\n<td>ms<\/td>\n<td>207,6<\/td>\n<td>229,3<\/td>\n<td class=\"pp-best\"><strong>205,0 \u2605<\/strong><\/td>\n<td>223,0<\/td>\n<td>212,4<\/td>\n<td>243,5<\/td>\n<td>244,1<\/td>\n<td>233,3<\/td>\n<td>239,4<\/td>\n<td>245,8<\/td>\n<\/tr>\n<tr>\n<td><code>ascii85_large<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>11,62 \u2605<\/strong><\/td>\n<td>797,9<\/td>\n<td>709,0<\/td>\n<td>772,3<\/td>\n<td>643,8<\/td>\n<td>759,2<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>ascii85_small<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>0,3875 \u2605<\/strong><\/td>\n<td>14,88<\/td>\n<td>13,20<\/td>\n<td>13,79<\/td>\n<td>12,18<\/td>\n<td>14,18<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>async_generators<\/code><\/td>\n<td>ms<\/td>\n<td>237,9<\/td>\n<td>269,8<\/td>\n<td>245,9<\/td>\n<td>246,6<\/td>\n<td class=\"pp-best\"><strong>194,2 \u2605<\/strong><\/td>\n<td>233,8<\/td>\n<td>222,7<\/td>\n<td>225,1<\/td>\n<td>239,1<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>async_tree_cpu_io_mixed<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>393,4 \u2605<\/strong><\/td>\n<td>420,2<\/td>\n<td>408,3<\/td>\n<td>520,8<\/td>\n<td>564,7<\/td>\n<td>688,5<\/td>\n<td>686,8<\/td>\n<td>687,6<\/td>\n<td>684,0<\/td>\n<td>736,0<\/td>\n<\/tr>\n<tr>\n<td><code>async_tree_cpu_io_mixed_tg<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>380,8 \u2605<\/strong><\/td>\n<td>404,4<\/td>\n<td>424,8<\/td>\n<td>517,1<\/td>\n<td>518,0<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>async_tree_eager<\/code><\/td>\n<td>ms<\/td>\n<td>98,19<\/td>\n<td>124,2<\/td>\n<td>77,12<\/td>\n<td class=\"pp-best\"><strong>70,41 \u2605<\/strong><\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>async_tree_eager_cpu_io_mixed<\/code><\/td>\n<td>ms<\/td>\n<td>322,5<\/td>\n<td>349,0<\/td>\n<td>305,3<\/td>\n<td class=\"pp-best\"><strong>304,9 \u2605<\/strong><\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>async_tree_eager_cpu_io_mixed_tg<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>342,9 \u2605<\/strong><\/td>\n<td>365,3<\/td>\n<td>374,0<\/td>\n<td>430,9<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>async_tree_eager_io<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>588,9 \u2605<\/strong><\/td>\n<td>652,8<\/td>\n<td>656,7<\/td>\n<td>1007<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>async_tree_eager_io_tg<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>558,3 \u2605<\/strong><\/td>\n<td>610,1<\/td>\n<td>658,6<\/td>\n<td>922,1<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>async_tree_eager_memoization<\/code><\/td>\n<td>ms<\/td>\n<td>170,7<\/td>\n<td>190,5<\/td>\n<td>179,3<\/td>\n<td class=\"pp-best\"><strong>170,2 \u2605<\/strong><\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>async_tree_eager_memoization_tg<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>224,0 \u2605<\/strong><\/td>\n<td>243,9<\/td>\n<td>239,1<\/td>\n<td>312,0<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>async_tree_eager_tg<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>166,3 \u2605<\/strong><\/td>\n<td>184,9<\/td>\n<td>181,0<\/td>\n<td>222,9<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>async_tree_io<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>558,8 \u2605<\/strong><\/td>\n<td>617,5<\/td>\n<td>577,6<\/td>\n<td>864,9<\/td>\n<td>964,0<\/td>\n<td>1321<\/td>\n<td>1342<\/td>\n<td>1353<\/td>\n<td>1340<\/td>\n<td>1419<\/td>\n<\/tr>\n<tr>\n<td><code>async_tree_io_tg<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>511,6 \u2605<\/strong><\/td>\n<td>581,5<\/td>\n<td>594,1<\/td>\n<td>897,2<\/td>\n<td>938,2<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>async_tree_memoization<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>278,0 \u2605<\/strong><\/td>\n<td>308,5<\/td>\n<td>298,0<\/td>\n<td>414,1<\/td>\n<td>434,5<\/td>\n<td>576,2<\/td>\n<td>571,4<\/td>\n<td>557,1<\/td>\n<td>566,9<\/td>\n<td>629,2<\/td>\n<\/tr>\n<tr>\n<td><code>async_tree_memoization_tg<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>240,1 \u2605<\/strong><\/td>\n<td>267,1<\/td>\n<td>308,4<\/td>\n<td>383,2<\/td>\n<td>403,2<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>async_tree_none<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>225,8 \u2605<\/strong><\/td>\n<td>248,5<\/td>\n<td>244,0<\/td>\n<td>312,6<\/td>\n<td>380,6<\/td>\n<td>474,1<\/td>\n<td>485,7<\/td>\n<td>461,8<\/td>\n<td>471,4<\/td>\n<td>554,3<\/td>\n<\/tr>\n<tr>\n<td><code>async_tree_none_tg<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>194,4 \u2605<\/strong><\/td>\n<td>215,4<\/td>\n<td>220,6<\/td>\n<td>293,5<\/td>\n<td>306,4<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>asyncio_tcp<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>435,2 \u2605<\/strong><\/td>\n<td>458,4<\/td>\n<td>441,2<\/td>\n<td>459,3<\/td>\n<td>604,9<\/td>\n<td>754,9<\/td>\n<td>618,0<\/td>\n<td>671,8<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>asyncio_tcp_ssl<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>1219 \u2605<\/strong><\/td>\n<td>1258<\/td>\n<td>1251<\/td>\n<td>1253<\/td>\n<td>1317<\/td>\n<td>2033<\/td>\n<td>1754<\/td>\n<td>1843<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>asyncio_websockets<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>125,6 \u2605<\/strong><\/td>\n<td>141,6<\/td>\n<td>452,9<\/td>\n<td>456,7<\/td>\n<td>455,5<\/td>\n<td>458,1<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>base16_large<\/code><\/td>\n<td>ms<\/td>\n<td>5,767<\/td>\n<td class=\"pp-best\"><strong>4,714 \u2605<\/strong><\/td>\n<td>22,52<\/td>\n<td>23,08<\/td>\n<td>23,89<\/td>\n<td>23,71<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>base16_small<\/code><\/td>\n<td>\u00b5s<\/td>\n<td>308,3<\/td>\n<td class=\"pp-best\"><strong>252,3 \u2605<\/strong><\/td>\n<td>522,2<\/td>\n<td>515,2<\/td>\n<td>552,0<\/td>\n<td>605,3<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>base32_large<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>2,431 \u2605<\/strong><\/td>\n<td>327,6<\/td>\n<td>300,7<\/td>\n<td>296,4<\/td>\n<td>265,7<\/td>\n<td>292,1<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>base32_small<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>0,1630 \u2605<\/strong><\/td>\n<td>6,227<\/td>\n<td>5,802<\/td>\n<td>5,594<\/td>\n<td>5,134<\/td>\n<td>5,641<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>base64_large<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>1,852 \u2605<\/strong><\/td>\n<td>6,746<\/td>\n<td>6,187<\/td>\n<td>6,095<\/td>\n<td>6,116<\/td>\n<td>6,071<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>base64_small<\/code><\/td>\n<td>\u00b5s<\/td>\n<td class=\"pp-best\"><strong>169,2 \u2605<\/strong><\/td>\n<td>219,5<\/td>\n<td>204,4<\/td>\n<td>197,2<\/td>\n<td>200,7<\/td>\n<td>245,4<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>base85_large<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>4,293 \u2605<\/strong><\/td>\n<td>272,4<\/td>\n<td>252,9<\/td>\n<td>258,8<\/td>\n<td>230,1<\/td>\n<td>259,2<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>base85_small<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>0,1505 \u2605<\/strong><\/td>\n<td>4,864<\/td>\n<td>4,484<\/td>\n<td>4,529<\/td>\n<td>4,198<\/td>\n<td>4,712<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>bench_mp_pool<\/code><\/td>\n<td>ms<\/td>\n<td>112,0<\/td>\n<td>126,0<\/td>\n<td>118,1<\/td>\n<td>123,2<\/td>\n<td>98,84<\/td>\n<td>98,60<\/td>\n<td>70,91<\/td>\n<td class=\"pp-best\"><strong>68,98 \u2605<\/strong><\/td>\n<td>109,8<\/td>\n<td>110,6<\/td>\n<\/tr>\n<tr>\n<td><code>bench_thread_pool<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>0,6588 \u2605<\/strong><\/td>\n<td>0,7389<\/td>\n<td>0,6954<\/td>\n<td>0,7138<\/td>\n<td>0,7202<\/td>\n<td>0,7721<\/td>\n<td>0,7480<\/td>\n<td>0,7616<\/td>\n<td>109,5<\/td>\n<td>109,8<\/td>\n<\/tr>\n<tr>\n<td><code>bpe_tokeniser<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>2318 \u2605<\/strong><\/td>\n<td>2968<\/td>\n<td>2872<\/td>\n<td>3112<\/td>\n<td>2710<\/td>\n<td>2962<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>chameleon<\/code><\/td>\n<td>ms<\/td>\n<td>8,428<\/td>\n<td>9,954<\/td>\n<td>9,834<\/td>\n<td>8,770<\/td>\n<td>8,890<\/td>\n<td>10,32<\/td>\n<td>\u2014<\/td>\n<td class=\"pp-best\"><strong>6,593 \u2605<\/strong><\/td>\n<td>6,986<\/td>\n<td>7,623<\/td>\n<\/tr>\n<tr>\n<td><code>chaos<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>31,30 \u2605<\/strong><\/td>\n<td>44,06<\/td>\n<td>40,48<\/td>\n<td>43,34<\/td>\n<td>44,41<\/td>\n<td>58,37<\/td>\n<td>57,75<\/td>\n<td>59,67<\/td>\n<td>70,34<\/td>\n<td>76,81<\/td>\n<\/tr>\n<tr>\n<td><code>comprehensions<\/code><\/td>\n<td>\u00b5s<\/td>\n<td class=\"pp-best\"><strong>8,117 \u2605<\/strong><\/td>\n<td>12,20<\/td>\n<td>10,70<\/td>\n<td>13,28<\/td>\n<td>13,41<\/td>\n<td>14,73<\/td>\n<td>13,95<\/td>\n<td>14,30<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>connected_components<\/code><\/td>\n<td>ms<\/td>\n<td>365,8<\/td>\n<td>388,3<\/td>\n<td>359,4<\/td>\n<td class=\"pp-best\"><strong>351,3 \u2605<\/strong><\/td>\n<td>406,9<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>coroutines<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>12,87 \u2605<\/strong><\/td>\n<td>17,05<\/td>\n<td>14,40<\/td>\n<td>15,38<\/td>\n<td>16,31<\/td>\n<td>17,75<\/td>\n<td>21,04<\/td>\n<td>22,33<\/td>\n<td>22,47<\/td>\n<td>20,61<\/td>\n<\/tr>\n<tr>\n<td><code>coverage<\/code><\/td>\n<td>ms<\/td>\n<td>48,64<\/td>\n<td>52,53<\/td>\n<td>48,59<\/td>\n<td>27,71<\/td>\n<td>37,07<\/td>\n<td>34,36<\/td>\n<td>25,66<\/td>\n<td>25,78<\/td>\n<td class=\"pp-best\"><strong>24,54 \u2605<\/strong><\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>create_gc_cycles<\/code><\/td>\n<td>ms<\/td>\n<td>0,8892<\/td>\n<td>1,030<\/td>\n<td>1,005<\/td>\n<td>1,004<\/td>\n<td>0,9392<\/td>\n<td>0,9490<\/td>\n<td>0,6352<\/td>\n<td class=\"pp-best\"><strong>0,6044 \u2605<\/strong><\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>crypto_pyaes<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>39,17 \u2605<\/strong><\/td>\n<td>50,48<\/td>\n<td>48,82<\/td>\n<td>48,91<\/td>\n<td>45,69<\/td>\n<td>64,55<\/td>\n<td>61,67<\/td>\n<td>65,92<\/td>\n<td>71,65<\/td>\n<td>75,32<\/td>\n<\/tr>\n<tr>\n<td><code>dask<\/code><\/td>\n<td>ms<\/td>\n<td>687,5<\/td>\n<td>720,2<\/td>\n<td>732,9<\/td>\n<td>472,2<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>274,7<\/td>\n<td class=\"pp-best\"><strong>273,4 \u2605<\/strong><\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>deepcopy<\/code><\/td>\n<td>\u00b5s<\/td>\n<td class=\"pp-best\"><strong>129,9 \u2605<\/strong><\/td>\n<td>174,8<\/td>\n<td>223,6<\/td>\n<td>218,3<\/td>\n<td>219,5<\/td>\n<td>256,3<\/td>\n<td>245,7<\/td>\n<td>250,0<\/td>\n<td>298,9<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>deepcopy_memo<\/code><\/td>\n<td>\u00b5s<\/td>\n<td class=\"pp-best\"><strong>14,64 \u2605<\/strong><\/td>\n<td>19,74<\/td>\n<td>25,02<\/td>\n<td>24,80<\/td>\n<td>24,81<\/td>\n<td>29,56<\/td>\n<td>28,56<\/td>\n<td>28,79<\/td>\n<td>35,50<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>deepcopy_reduce<\/code><\/td>\n<td>\u00b5s<\/td>\n<td class=\"pp-best\"><strong>1,541 \u2605<\/strong><\/td>\n<td>1,899<\/td>\n<td>2,122<\/td>\n<td>1,976<\/td>\n<td>1,949<\/td>\n<td>2,246<\/td>\n<td>2,219<\/td>\n<td>2,244<\/td>\n<td>2,729<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>deltablue<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>1,669 \u2605<\/strong><\/td>\n<td>2,508<\/td>\n<td>2,249<\/td>\n<td>2,401<\/td>\n<td>2,576<\/td>\n<td>4,298<\/td>\n<td>4,004<\/td>\n<td>4,060<\/td>\n<td>4,441<\/td>\n<td>5,260<\/td>\n<\/tr>\n<tr>\n<td><code>django_template<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>20,47 \u2605<\/strong><\/td>\n<td>24,56<\/td>\n<td>22,44<\/td>\n<td>22,51<\/td>\n<td>21,89<\/td>\n<td>28,25<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>35,62<\/td>\n<td>45,57<\/td>\n<\/tr>\n<tr>\n<td><code>docutils<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>1272 \u2605<\/strong><\/td>\n<td>1425<\/td>\n<td>1418<\/td>\n<td>1453<\/td>\n<td>1416<\/td>\n<td>1654<\/td>\n<td>1598<\/td>\n<td>1569<\/td>\n<td>1709<\/td>\n<td>1795<\/td>\n<\/tr>\n<tr>\n<td><code>dulwich_log<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>44,74 \u2605<\/strong><\/td>\n<td>48,84<\/td>\n<td>47,16<\/td>\n<td>50,01<\/td>\n<td>49,22<\/td>\n<td>58,85<\/td>\n<td>59,76<\/td>\n<td>58,69<\/td>\n<td>64,96<\/td>\n<td>65,13<\/td>\n<\/tr>\n<tr>\n<td><code>fannkuch<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>208,5 \u2605<\/strong><\/td>\n<td>280,5<\/td>\n<td>251,0<\/td>\n<td>243,7<\/td>\n<td>237,4<\/td>\n<td>259,9<\/td>\n<td>254,6<\/td>\n<td>264,9<\/td>\n<td>300,1<\/td>\n<td>304,3<\/td>\n<\/tr>\n<tr>\n<td><code>fastapi_http<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>399,9 \u2605<\/strong><\/td>\n<td>454,7<\/td>\n<td>431,1<\/td>\n<td>480,7<\/td>\n<td>456,6<\/td>\n<td>517,2<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>float<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>44,02 \u2605<\/strong><\/td>\n<td>57,28<\/td>\n<td>55,06<\/td>\n<td>58,57<\/td>\n<td>52,96<\/td>\n<td>66,99<\/td>\n<td>67,17<\/td>\n<td>66,56<\/td>\n<td>81,47<\/td>\n<td>81,81<\/td>\n<\/tr>\n<tr>\n<td><code>gc_traversal<\/code><\/td>\n<td>ms<\/td>\n<td>1,682<\/td>\n<td>1,807<\/td>\n<td>1,802<\/td>\n<td>1,711<\/td>\n<td>1,635<\/td>\n<td>1,516<\/td>\n<td class=\"pp-best\"><strong>1,211 \u2605<\/strong><\/td>\n<td>1,373<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>generators<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>16,29 \u2605<\/strong><\/td>\n<td>23,32<\/td>\n<td>21,48<\/td>\n<td>23,35<\/td>\n<td>39,08<\/td>\n<td>42,54<\/td>\n<td>32,71<\/td>\n<td>34,39<\/td>\n<td>32,56<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>go<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>59,34 \u2605<\/strong><\/td>\n<td>89,44<\/td>\n<td>89,62<\/td>\n<td>88,20<\/td>\n<td>92,64<\/td>\n<td>132,0<\/td>\n<td>141,1<\/td>\n<td>139,6<\/td>\n<td>144,5<\/td>\n<td>171,1<\/td>\n<\/tr>\n<tr>\n<td><code>hexiom<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>3,178 \u2605<\/strong><\/td>\n<td>4,914<\/td>\n<td>4,250<\/td>\n<td>4,447<\/td>\n<td>4,162<\/td>\n<td>5,431<\/td>\n<td>5,223<\/td>\n<td>5,411<\/td>\n<td>5,979<\/td>\n<td>6,971<\/td>\n<\/tr>\n<tr>\n<td><code>html5lib<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>28,44 \u2605<\/strong><\/td>\n<td>33,73<\/td>\n<td>33,51<\/td>\n<td>32,67<\/td>\n<td>31,41<\/td>\n<td>39,83<\/td>\n<td>41,80<\/td>\n<td>41,45<\/td>\n<td>46,72<\/td>\n<td>53,20<\/td>\n<\/tr>\n<tr>\n<td><code>json_dumps<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>4,862 \u2605<\/strong><\/td>\n<td>6,731<\/td>\n<td>6,180<\/td>\n<td>5,920<\/td>\n<td>7,629<\/td>\n<td>8,065<\/td>\n<td>8,268<\/td>\n<td>8,332<\/td>\n<td>8,793<\/td>\n<td>9,014<\/td>\n<\/tr>\n<tr>\n<td><code>json_loads<\/code><\/td>\n<td>\u00b5s<\/td>\n<td>13,06<\/td>\n<td>14,53<\/td>\n<td>14,62<\/td>\n<td>14,33<\/td>\n<td class=\"pp-best\"><strong>12,79 \u2605<\/strong><\/td>\n<td>13,34<\/td>\n<td>13,98<\/td>\n<td>15,08<\/td>\n<td>16,56<\/td>\n<td>17,48<\/td>\n<\/tr>\n<tr>\n<td><code>k_core<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>1616 \u2605<\/strong><\/td>\n<td>1708<\/td>\n<td>1670<\/td>\n<td>1902<\/td>\n<td>2137<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>logging_format<\/code><\/td>\n<td>\u00b5s<\/td>\n<td class=\"pp-best\"><strong>5,081 \u2605<\/strong><\/td>\n<td>6,286<\/td>\n<td>6,031<\/td>\n<td>6,376<\/td>\n<td>6,290<\/td>\n<td>6,900<\/td>\n<td>6,231<\/td>\n<td>6,361<\/td>\n<td>7,385<\/td>\n<td>8,474<\/td>\n<\/tr>\n<tr>\n<td><code>logging_silent<\/code><\/td>\n<td>\u00b5s<\/td>\n<td class=\"pp-best\"><strong>0,05126 \u2605<\/strong><\/td>\n<td>0,07505<\/td>\n<td>0,07002<\/td>\n<td>0,06615<\/td>\n<td>0,06868<\/td>\n<td>0,1033<\/td>\n<td>0,1055<\/td>\n<td>0,1041<\/td>\n<td>0,1075<\/td>\n<td>0,2096<\/td>\n<\/tr>\n<tr>\n<td><code>logging_simple<\/code><\/td>\n<td>\u00b5s<\/td>\n<td class=\"pp-best\"><strong>4,720 \u2605<\/strong><\/td>\n<td>5,845<\/td>\n<td>5,587<\/td>\n<td>5,986<\/td>\n<td>5,923<\/td>\n<td>6,560<\/td>\n<td>5,818<\/td>\n<td>5,968<\/td>\n<td>6,794<\/td>\n<td>7,618<\/td>\n<\/tr>\n<tr>\n<td><code>mako<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>6,643 \u2605<\/strong><\/td>\n<td>7,970<\/td>\n<td>6,737<\/td>\n<td>7,294<\/td>\n<td>7,317<\/td>\n<td>8,889<\/td>\n<td>9,808<\/td>\n<td>10,17<\/td>\n<td>12,65<\/td>\n<td>13,78<\/td>\n<\/tr>\n<tr>\n<td><code>many_optionals<\/code><\/td>\n<td>\u00b5s<\/td>\n<td class=\"pp-best\"><strong>297,7 \u2605<\/strong><\/td>\n<td>386,7<\/td>\n<td>368,9<\/td>\n<td>367,0<\/td>\n<td>367,5<\/td>\n<td>404,8<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>mdp<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>661,3 \u2605<\/strong><\/td>\n<td>829,3<\/td>\n<td>1646<\/td>\n<td>1667<\/td>\n<td>1565<\/td>\n<td>1659<\/td>\n<td>1777<\/td>\n<td>1642<\/td>\n<td>1840<\/td>\n<td>1780<\/td>\n<\/tr>\n<tr>\n<td><code>meteor_contest<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>60,92 \u2605<\/strong><\/td>\n<td>69,78<\/td>\n<td>66,52<\/td>\n<td>64,18<\/td>\n<td>64,78<\/td>\n<td>65,08<\/td>\n<td>62,60<\/td>\n<td>64,01<\/td>\n<td>69,52<\/td>\n<td>72,23<\/td>\n<\/tr>\n<tr>\n<td><code>nbody<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>62,13 \u2605<\/strong><\/td>\n<td>89,91<\/td>\n<td>81,61<\/td>\n<td>81,79<\/td>\n<td>72,83<\/td>\n<td>89,64<\/td>\n<td>83,77<\/td>\n<td>77,54<\/td>\n<td>97,39<\/td>\n<td>96,01<\/td>\n<\/tr>\n<tr>\n<td><code>nqueens<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>43,38 \u2605<\/strong><\/td>\n<td>65,02<\/td>\n<td>58,66<\/td>\n<td>59,45<\/td>\n<td>58,23<\/td>\n<td>60,58<\/td>\n<td>56,92<\/td>\n<td>60,47<\/td>\n<td>66,51<\/td>\n<td>68,16<\/td>\n<\/tr>\n<tr>\n<td><code>pathlib<\/code><\/td>\n<td>ms<\/td>\n<td>228,7<\/td>\n<td>232,9<\/td>\n<td>232,0<\/td>\n<td>232,0<\/td>\n<td>220,3<\/td>\n<td>222,0<\/td>\n<td>219,6<\/td>\n<td>219,3<\/td>\n<td class=\"pp-best\"><strong>217,8 \u2605<\/strong><\/td>\n<td>219,7<\/td>\n<\/tr>\n<tr>\n<td><code>pickle<\/code><\/td>\n<td>\u00b5s<\/td>\n<td>7,807<\/td>\n<td>7,953<\/td>\n<td>8,085<\/td>\n<td>7,334<\/td>\n<td class=\"pp-best\"><strong>6,681 \u2605<\/strong><\/td>\n<td>6,784<\/td>\n<td>6,906<\/td>\n<td>6,706<\/td>\n<td>9,743<\/td>\n<td>8,021<\/td>\n<\/tr>\n<tr>\n<td><code>pickle_dict<\/code><\/td>\n<td>\u00b5s<\/td>\n<td class=\"pp-best\"><strong>17,69 \u2605<\/strong><\/td>\n<td>20,50<\/td>\n<td>19,16<\/td>\n<td>19,49<\/td>\n<td>18,45<\/td>\n<td>18,76<\/td>\n<td>17,90<\/td>\n<td>17,83<\/td>\n<td>26,59<\/td>\n<td>20,84<\/td>\n<\/tr>\n<tr>\n<td><code>pickle_list<\/code><\/td>\n<td>\u00b5s<\/td>\n<td>2,820<\/td>\n<td>3,041<\/td>\n<td>2,869<\/td>\n<td>2,804<\/td>\n<td>2,600<\/td>\n<td>2,576<\/td>\n<td class=\"pp-best\"><strong>2,517 \u2605<\/strong><\/td>\n<td>2,547<\/td>\n<td>3,583<\/td>\n<td>2,875<\/td>\n<\/tr>\n<tr>\n<td><code>pickle_pure_python<\/code><\/td>\n<td>\u00b5s<\/td>\n<td class=\"pp-best\"><strong>175,2 \u2605<\/strong><\/td>\n<td>217,3<\/td>\n<td>190,2<\/td>\n<td>194,9<\/td>\n<td>189,0<\/td>\n<td>254,6<\/td>\n<td>250,9<\/td>\n<td>256,6<\/td>\n<td>293,9<\/td>\n<td>331,2<\/td>\n<\/tr>\n<tr>\n<td><code>pidigits<\/code><\/td>\n<td>ms<\/td>\n<td>128,8<\/td>\n<td>129,7<\/td>\n<td>129,7<\/td>\n<td>135,0<\/td>\n<td>136,1<\/td>\n<td>136,9<\/td>\n<td>139,2<\/td>\n<td>136,1<\/td>\n<td class=\"pp-best\"><strong>124,4 \u2605<\/strong><\/td>\n<td>128,3<\/td>\n<\/tr>\n<tr>\n<td><code>pprint_pformat<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>831,6 \u2605<\/strong><\/td>\n<td>1034<\/td>\n<td>1006<\/td>\n<td>1008<\/td>\n<td>965,7<\/td>\n<td>1172<\/td>\n<td>903,7<\/td>\n<td>908,7<\/td>\n<td>1020<\/td>\n<td>1115<\/td>\n<\/tr>\n<tr>\n<td><code>pprint_safe_repr<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>413,3 \u2605<\/strong><\/td>\n<td>502,5<\/td>\n<td>506,7<\/td>\n<td>486,7<\/td>\n<td>469,7<\/td>\n<td>566,1<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>pyflate<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>239,9 \u2605<\/strong><\/td>\n<td>323,0<\/td>\n<td>303,0<\/td>\n<td>304,3<\/td>\n<td>285,6<\/td>\n<td>389,1<\/td>\n<td>394,1<\/td>\n<td>397,2<\/td>\n<td>443,3<\/td>\n<td>481,4<\/td>\n<\/tr>\n<tr>\n<td><code>python_startup<\/code><\/td>\n<td>ms<\/td>\n<td>34,36<\/td>\n<td>35,18<\/td>\n<td>24,99<\/td>\n<td>33,05<\/td>\n<td>36,57<\/td>\n<td>24,15<\/td>\n<td>33,62<\/td>\n<td>24,13<\/td>\n<td>26,80<\/td>\n<td class=\"pp-best\"><strong>23,04 \u2605<\/strong><\/td>\n<\/tr>\n<tr>\n<td><code>python_startup_no_site<\/code><\/td>\n<td>ms<\/td>\n<td>29,23<\/td>\n<td>29,09<\/td>\n<td>19,93<\/td>\n<td>27,34<\/td>\n<td>26,76<\/td>\n<td>19,83<\/td>\n<td>28,93<\/td>\n<td>19,81<\/td>\n<td>23,32<\/td>\n<td class=\"pp-best\"><strong>18,62 \u2605<\/strong><\/td>\n<\/tr>\n<tr>\n<td><code>raytrace<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>144,0 \u2605<\/strong><\/td>\n<td>192,8<\/td>\n<td>176,1<\/td>\n<td>195,3<\/td>\n<td>192,9<\/td>\n<td>272,7<\/td>\n<td>266,2<\/td>\n<td>273,1<\/td>\n<td>302,7<\/td>\n<td>358,0<\/td>\n<\/tr>\n<tr>\n<td><code>regex_compile<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>54,30 \u2605<\/strong><\/td>\n<td>75,55<\/td>\n<td>73,19<\/td>\n<td>79,10<\/td>\n<td>74,54<\/td>\n<td>90,70<\/td>\n<td>86,59<\/td>\n<td>89,70<\/td>\n<td>102,6<\/td>\n<td>109,1<\/td>\n<\/tr>\n<tr>\n<td><code>regex_dna<\/code><\/td>\n<td>ms<\/td>\n<td>118,7<\/td>\n<td>107,9<\/td>\n<td>105,8<\/td>\n<td class=\"pp-best\"><strong>99,72 \u2605<\/strong><\/td>\n<td>101,0<\/td>\n<td>110,0<\/td>\n<td>107,5<\/td>\n<td>113,7<\/td>\n<td>122,7<\/td>\n<td>121,4<\/td>\n<\/tr>\n<tr>\n<td><code>regex_effbot<\/code><\/td>\n<td>ms<\/td>\n<td>1,940<\/td>\n<td>1,588<\/td>\n<td>1,565<\/td>\n<td class=\"pp-best\"><strong>1,509 \u2605<\/strong><\/td>\n<td>1,581<\/td>\n<td>1,786<\/td>\n<td>1,819<\/td>\n<td>1,893<\/td>\n<td>2,097<\/td>\n<td>1,892<\/td>\n<\/tr>\n<tr>\n<td><code>regex_v8<\/code><\/td>\n<td>ms<\/td>\n<td>15,13<\/td>\n<td>14,92<\/td>\n<td>15,03<\/td>\n<td class=\"pp-best\"><strong>13,69 \u2605<\/strong><\/td>\n<td>14,16<\/td>\n<td>15,35<\/td>\n<td>16,51<\/td>\n<td>15,16<\/td>\n<td>17,59<\/td>\n<td>17,62<\/td>\n<\/tr>\n<tr>\n<td><code>richards<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>22,75 \u2605<\/strong><\/td>\n<td>31,37<\/td>\n<td>30,20<\/td>\n<td>27,37<\/td>\n<td>29,19<\/td>\n<td>41,73<\/td>\n<td>38,45<\/td>\n<td>39,53<\/td>\n<td>42,26<\/td>\n<td>50,17<\/td>\n<\/tr>\n<tr>\n<td><code>richards_super<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>26,14 \u2605<\/strong><\/td>\n<td>35,52<\/td>\n<td>34,13<\/td>\n<td>30,93<\/td>\n<td>36,03<\/td>\n<td>50,83<\/td>\n<td>48,11<\/td>\n<td>47,65<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>scimark_fft<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>163,4 \u2605<\/strong><\/td>\n<td>217,5<\/td>\n<td>207,4<\/td>\n<td>218,4<\/td>\n<td>206,3<\/td>\n<td>221,5<\/td>\n<td>217,6<\/td>\n<td>206,3<\/td>\n<td>252,7<\/td>\n<td>234,0<\/td>\n<\/tr>\n<tr>\n<td><code>scimark_lu<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>54,56 \u2605<\/strong><\/td>\n<td>77,23<\/td>\n<td>70,77<\/td>\n<td>74,08<\/td>\n<td>65,88<\/td>\n<td>92,71<\/td>\n<td>90,00<\/td>\n<td>88,69<\/td>\n<td>105,2<\/td>\n<td>140,0<\/td>\n<\/tr>\n<tr>\n<td><code>scimark_monte_carlo<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>36,72 \u2605<\/strong><\/td>\n<td>48,66<\/td>\n<td>45,22<\/td>\n<td>47,18<\/td>\n<td>43,48<\/td>\n<td>59,02<\/td>\n<td>58,02<\/td>\n<td>58,99<\/td>\n<td>61,12<\/td>\n<td>72,85<\/td>\n<\/tr>\n<tr>\n<td><code>scimark_sor<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>62,58 \u2605<\/strong><\/td>\n<td>93,32<\/td>\n<td>83,76<\/td>\n<td>90,14<\/td>\n<td>78,83<\/td>\n<td>103,4<\/td>\n<td>105,7<\/td>\n<td>103,0<\/td>\n<td>115,4<\/td>\n<td>139,3<\/td>\n<\/tr>\n<tr>\n<td><code>scimark_sparse_mat_mult<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>2,504 \u2605<\/strong><\/td>\n<td>3,372<\/td>\n<td>3,225<\/td>\n<td>3,379<\/td>\n<td>3,200<\/td>\n<td>3,530<\/td>\n<td>3,149<\/td>\n<td>3,059<\/td>\n<td>3,498<\/td>\n<td>3,177<\/td>\n<\/tr>\n<tr>\n<td><code>shortest_path<\/code><\/td>\n<td>ms<\/td>\n<td>372,7<\/td>\n<td>397,5<\/td>\n<td>370,4<\/td>\n<td class=\"pp-best\"><strong>360,0 \u2605<\/strong><\/td>\n<td>407,7<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>spectral_norm<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>52,58 \u2605<\/strong><\/td>\n<td>77,96<\/td>\n<td>74,42<\/td>\n<td>75,18<\/td>\n<td>73,23<\/td>\n<td>81,42<\/td>\n<td>80,50<\/td>\n<td>80,31<\/td>\n<td>99,75<\/td>\n<td>97,18<\/td>\n<\/tr>\n<tr>\n<td><code>sphinx<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>552,5 \u2605<\/strong><\/td>\n<td>617,7<\/td>\n<td>591,2<\/td>\n<td>610,0<\/td>\n<td>624,3<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>sqlalchemy_declarative<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>54,38 \u2605<\/strong><\/td>\n<td>61,12<\/td>\n<td>64,18<\/td>\n<td>67,42<\/td>\n<td>67,76<\/td>\n<td>77,65<\/td>\n<td>72,58<\/td>\n<td>72,28<\/td>\n<td>82,56<\/td>\n<td>80,96<\/td>\n<\/tr>\n<tr>\n<td><code>sqlalchemy_imperative<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>5,959 \u2605<\/strong><\/td>\n<td>6,798<\/td>\n<td>6,865<\/td>\n<td>6,966<\/td>\n<td>6,914<\/td>\n<td>8,431<\/td>\n<td>8,549<\/td>\n<td>8,320<\/td>\n<td>9,762<\/td>\n<td>9,374<\/td>\n<\/tr>\n<tr>\n<td><code>sqlglot_v2_normalize<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>58,48 \u2605<\/strong><\/td>\n<td>71,32<\/td>\n<td>69,04<\/td>\n<td>66,67<\/td>\n<td>67,85<\/td>\n<td>79,88<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>sqlglot_v2_optimize<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>27,93 \u2605<\/strong><\/td>\n<td>33,61<\/td>\n<td>32,29<\/td>\n<td>32,42<\/td>\n<td>31,75<\/td>\n<td>37,03<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>sqlglot_v2_parse<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>0,6214 \u2605<\/strong><\/td>\n<td>0,8693<\/td>\n<td>0,7941<\/td>\n<td>0,8246<\/td>\n<td>0,8752<\/td>\n<td>1,144<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>sqlglot_v2_transpile<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>0,7834 \u2605<\/strong><\/td>\n<td>1,050<\/td>\n<td>0,9646<\/td>\n<td>1,010<\/td>\n<td>1,045<\/td>\n<td>1,362<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>sqlite_synth<\/code><\/td>\n<td>\u00b5s<\/td>\n<td>1,370<\/td>\n<td>1,523<\/td>\n<td>1,507<\/td>\n<td>1,516<\/td>\n<td class=\"pp-best\"><strong>1,341 \u2605<\/strong><\/td>\n<td>1,532<\/td>\n<td>1,648<\/td>\n<td>1,829<\/td>\n<td>1,785<\/td>\n<td>1,955<\/td>\n<\/tr>\n<tr>\n<td><code>subparsers<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>5,747 \u2605<\/strong><\/td>\n<td>6,756<\/td>\n<td>18,20<\/td>\n<td>45,06<\/td>\n<td>39,63<\/td>\n<td>45,51<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>sympy_expand<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>220,0 \u2605<\/strong><\/td>\n<td>258,3<\/td>\n<td>248,8<\/td>\n<td>240,2<\/td>\n<td>244,4<\/td>\n<td>267,3<\/td>\n<td>263,4<\/td>\n<td>255,0<\/td>\n<td>345,9<\/td>\n<td>329,7<\/td>\n<\/tr>\n<tr>\n<td><code>sympy_integrate<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>9,662 \u2605<\/strong><\/td>\n<td>11,35<\/td>\n<td>11,27<\/td>\n<td>11,35<\/td>\n<td>11,49<\/td>\n<td>12,69<\/td>\n<td>12,57<\/td>\n<td>12,26<\/td>\n<td>16,00<\/td>\n<td>15,85<\/td>\n<\/tr>\n<tr>\n<td><code>sympy_str<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>124,8 \u2605<\/strong><\/td>\n<td>149,4<\/td>\n<td>144,6<\/td>\n<td>147,7<\/td>\n<td>149,1<\/td>\n<td>161,0<\/td>\n<td>158,4<\/td>\n<td>155,2<\/td>\n<td>198,0<\/td>\n<td>198,5<\/td>\n<\/tr>\n<tr>\n<td><code>sympy_sum<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>66,41 \u2605<\/strong><\/td>\n<td>78,46<\/td>\n<td>76,69<\/td>\n<td>79,50<\/td>\n<td>84,24<\/td>\n<td>90,98<\/td>\n<td>87,22<\/td>\n<td>86,32<\/td>\n<td>102,5<\/td>\n<td>106,8<\/td>\n<\/tr>\n<tr>\n<td><code>telco<\/code><\/td>\n<td>ms<\/td>\n<td>4,111<\/td>\n<td>4,940<\/td>\n<td>5,039<\/td>\n<td>4,170<\/td>\n<td>4,006<\/td>\n<td>3,850<\/td>\n<td class=\"pp-best\"><strong>3,710 \u2605<\/strong><\/td>\n<td>3,742<\/td>\n<td>4,727<\/td>\n<td>4,548<\/td>\n<\/tr>\n<tr>\n<td><code>tomli_loads<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>1023 \u2605<\/strong><\/td>\n<td>1585<\/td>\n<td>1423<\/td>\n<td>1557<\/td>\n<td>1396<\/td>\n<td>1679<\/td>\n<td>1591<\/td>\n<td>1619<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>tornado_http<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>93,48 \u2605<\/strong><\/td>\n<td>99,88<\/td>\n<td>99,31<\/td>\n<td>101,5<\/td>\n<td>102,7<\/td>\n<td>120,4<\/td>\n<td>116,4<\/td>\n<td>114,9<\/td>\n<td>121,8<\/td>\n<td>125,6<\/td>\n<\/tr>\n<tr>\n<td><code>typing_runtime_protocols<\/code><\/td>\n<td>\u00b5s<\/td>\n<td class=\"pp-best\"><strong>88,07 \u2605<\/strong><\/td>\n<td>107,0<\/td>\n<td>100,3<\/td>\n<td>101,5<\/td>\n<td>290,5<\/td>\n<td>311,7<\/td>\n<td>300,5<\/td>\n<td>311,7<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>unpack_sequence<\/code><\/td>\n<td>\u00b5s<\/td>\n<td class=\"pp-best\"><strong>0,03101 \u2605<\/strong><\/td>\n<td>0,04821<\/td>\n<td>0,05086<\/td>\n<td>0,04959<\/td>\n<td>0,03492<\/td>\n<td>0,04418<\/td>\n<td>0,04135<\/td>\n<td>0,04645<\/td>\n<td>0,04103<\/td>\n<td>0,04253<\/td>\n<\/tr>\n<tr>\n<td><code>unpickle<\/code><\/td>\n<td>\u00b5s<\/td>\n<td>8,827<\/td>\n<td>8,886<\/td>\n<td>9,203<\/td>\n<td>8,857<\/td>\n<td class=\"pp-best\"><strong>7,641 \u2605<\/strong><\/td>\n<td>8,418<\/td>\n<td>8,004<\/td>\n<td>9,646<\/td>\n<td>9,542<\/td>\n<td>9,697<\/td>\n<\/tr>\n<tr>\n<td><code>unpickle_list<\/code><\/td>\n<td>\u00b5s<\/td>\n<td>2,865<\/td>\n<td>2,806<\/td>\n<td>3,067<\/td>\n<td>3,118<\/td>\n<td class=\"pp-best\"><strong>2,530 \u2605<\/strong><\/td>\n<td>2,911<\/td>\n<td>2,937<\/td>\n<td>2,714<\/td>\n<td>2,616<\/td>\n<td>2,684<\/td>\n<\/tr>\n<tr>\n<td><code>unpickle_pure_python<\/code><\/td>\n<td>\u00b5s<\/td>\n<td class=\"pp-best\"><strong>116,6 \u2605<\/strong><\/td>\n<td>157,6<\/td>\n<td>140,4<\/td>\n<td>143,1<\/td>\n<td>144,8<\/td>\n<td>177,0<\/td>\n<td>171,1<\/td>\n<td>178,5<\/td>\n<td>224,8<\/td>\n<td>239,9<\/td>\n<\/tr>\n<tr>\n<td><code>urlsafe_base64_small<\/code><\/td>\n<td>\u00b5s<\/td>\n<td class=\"pp-best\"><strong>206,1 \u2605<\/strong><\/td>\n<td>340,4<\/td>\n<td>316,2<\/td>\n<td>305,1<\/td>\n<td>312,3<\/td>\n<td>412,5<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>xdsl_constant_fold<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>20,97 \u2605<\/strong><\/td>\n<td>24,33<\/td>\n<td>24,03<\/td>\n<td>23,15<\/td>\n<td>23,30<\/td>\n<td>29,74<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td><code>xml_etree_generate<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>50,36 \u2605<\/strong><\/td>\n<td>59,89<\/td>\n<td>58,41<\/td>\n<td>58,83<\/td>\n<td>51,97<\/td>\n<td>55,29<\/td>\n<td>53,82<\/td>\n<td>57,17<\/td>\n<td>67,46<\/td>\n<td>68,77<\/td>\n<\/tr>\n<tr>\n<td><code>xml_etree_iterparse<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>47,99 \u2605<\/strong><\/td>\n<td>54,90<\/td>\n<td>56,85<\/td>\n<td>56,13<\/td>\n<td>57,18<\/td>\n<td>58,15<\/td>\n<td>54,40<\/td>\n<td>54,66<\/td>\n<td>60,31<\/td>\n<td>62,17<\/td>\n<\/tr>\n<tr>\n<td><code>xml_etree_parse<\/code><\/td>\n<td>ms<\/td>\n<td>77,91<\/td>\n<td>80,08<\/td>\n<td>81,16<\/td>\n<td class=\"pp-best\"><strong>75,08 \u2605<\/strong><\/td>\n<td>80,35<\/td>\n<td>81,05<\/td>\n<td>83,62<\/td>\n<td>84,17<\/td>\n<td>92,31<\/td>\n<td>89,00<\/td>\n<\/tr>\n<tr>\n<td><code>xml_etree_process<\/code><\/td>\n<td>ms<\/td>\n<td class=\"pp-best\"><strong>34,81 \u2605<\/strong><\/td>\n<td>42,23<\/td>\n<td>40,30<\/td>\n<td>40,51<\/td>\n<td>37,55<\/td>\n<td>44,00<\/td>\n<td>42,61<\/td>\n<td>44,74<\/td>\n<td>54,81<\/td>\n<td>56,71<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/details>\n<h2 id=\"conclusion\">Wnioski: testuj wydajno\u015b\u0107 w rzeczywistych zastosowaniach<\/h2>\n<p>Python 3.15 uzyska\u0142 najni\u017csz\u0105 \u015bredni\u0105 w wi\u0119kszo\u015bci test\u00f3w dost\u0119pnych dla wszystkich dziesi\u0119ciu wersji w tym zestawie danych. W kilku rodzajach obci\u0105\u017ce\u0144 lepiej wypad\u0142y jednak wcze\u015bniejsze wersje. Wyniki test\u00f3w uruchamiania s\u0105 szczeg\u00f3lnie wra\u017cliwe na konfiguracj\u0119 \u015brodowiska, a u\u017cycie r\u00f3\u017cnych wersji zestawu test\u00f3w ogranicza mo\u017cliwo\u015b\u0107 przypisania r\u00f3\u017cnic wy\u0142\u0105cznie zmianom w interpreterze. Dla student\u00f3w, badaczy i programist\u00f3w najwa\u017cniejszy wniosek jest praktyczny: warto mierzy\u0107 wydajno\u015b\u0107 zada\u0144 istotnych dla w\u0142asnych projekt\u00f3w, a nast\u0119pnie podawa\u0107 zar\u00f3wno wyniki, jak i warunki, w kt\u00f3rych je uzyskano.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jak bardzo zmieni\u0142a si\u0119 wydajno\u015b\u0107 Pythona mi\u0119dzy wersjami 3.6 a 3.15? Por\u00f3wnanie dziesi\u0119ciu wersji j\u0119zyka w 122 testach wydajno\u015bci pokazuje, \u017ce w wielu zastosowaniach czas wykonania znacznie si\u0119 skr\u00f3ci\u0142. S\u0105 jednak r\u00f3wnie\u017c testy, w kt\u00f3rych najni\u017csz\u0105 \u015bredni\u0105 uzyska\u0142a jedna z wcze\u015bniejszych wersji. Wyniki te mog\u0105 pom\u00f3c studentom, badaczom i programistom zrozumie\u0107, jak wydajno\u015b\u0107 Pythona zale\u017cy [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1128,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[184,138,137,140,8],"class_list":["post-1127","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artykuly","tag-amd","tag-amd-ryzen-serii-7000","tag-python","tag-test-wydajnosci","tag-wideo"],"_links":{"self":[{"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/posts\/1127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/comments?post=1127"}],"version-history":[{"count":0,"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/posts\/1127\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/media\/1128"}],"wp:attachment":[{"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/media?parent=1127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/categories?post=1127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/tags?post=1127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}