{"id":897,"date":"2024-10-14T12:53:32","date_gmt":"2024-10-14T10:53:32","guid":{"rendered":"https:\/\/lewoniewski.info\/blog\/?p=897"},"modified":"2025-11-11T18:56:20","modified_gmt":"2025-11-11T17:56:20","slug":"python-3-12-kontra-python-3-13-test-wydajnosci","status":"publish","type":"post","link":"https:\/\/lewoniewski.info\/blog\/2024\/python-3-12-kontra-python-3-13-test-wydajnosci\/","title":{"rendered":"Python 3.12 kontra Python 3.13 \u2013 test wydajno\u015bci"},"content":{"rendered":"<p>W tym artykule zosta\u0142y opisane wyniki test\u00f3w wydajno\u015bciowych dla Pythona 3.13 w por\u00f3wnaniu do poprzedniej wersji tego j\u0119zyka programowania, kt\u00f3rym jest Python 3.12. W sumie zosta\u0142o przeprowadzono 100 r\u00f3\u017cnych test\u00f3w por\u00f3wnawczych na komputerach z procesorem serii AMD Ryzen 7000 oraz procesorem Intel Core 13. generacji. Jeden z nich u\u017cywany jest w komputerach stacjonarnych, drugi &#8211; w laptopach lub komputerach mini PC.<!--more--><\/p>\n<p>Wszystkie testy zosta\u0142y przeprowadzone na komputerach z systemem Windows 11 przy u\u017cyciu biblioteki <a href=\"https:\/\/pypi.org\/project\/pyperformance\/\" rel=\"noopener\" target=\"_blank\">pyperformance 1.11.0<\/a> w <a href=\"https:\/\/www.python.org\/downloads\/release\/python-3127\/\" rel=\"noopener\" target=\"_blank\">Pythonie 3.12.7<\/a> oraz <a href=\"https:\/\/www.python.org\/downloads\/release\/python-3130\/\" rel=\"noopener\" target=\"_blank\">Pythonie 3.13.0<\/a> (obie wersje 64-bitowe).<\/p>\n<style>.benchtab {width:100%} .ben1b {background-color: #e0e8ff !important;} .ben1 {color:blue;} .ben1s {color:blue;font-weight:bold;} .ben2b {background-color: #ffe0e0 !important;} .ben2 {color:red;} .ben2s {color:red;font-weight:bold;} .benchtab .nameben{text-align:left;} .benchtab .wartn{text-align:right;}<\/style>\n<h2>Procesor AMD Ryzen z serii 7000 do komputer\u00f3w stacjonarnych<\/h2>\n<p>Pierwsza cz\u0119\u015b\u0107 test\u00f3w obejmowa\u0142a komputer stacjonarny z procesorem AMD Ryzen 9 7900, pami\u0119ci\u0105 RAM DDR5 i dyskiem M.2 PCIe Gen4 NVMe. Poni\u017csza tabela przedstawia wyniki 100 test\u00f3w przeprowadzonych przy u\u017cyciu Pythona 3.12 (jako punktu odniesienia) i Pythona 3.13 na tym urz\u0105dzeniu.<\/p>\n<table class=\"benchtab\">\n<tr>\n<th style=\"text-align:left;\">Nazwa testu<\/th>\n<th style=\"text-align:right;\">Python 3.12<\/th>\n<th style=\"text-align:right;\">Python 3.13<\/th>\n<\/tr>\n<tr>\n<td class=\"nameben\">2to3<\/td>\n<td class=\"wartn\">226 ms<\/td>\n<td class=\"wartn\">217 ms (<span class=\"ben1\">1.04x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_generators<\/td>\n<td class=\"wartn\">262 ms<\/td>\n<td class=\"wartn\">256 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_cpu_io_mixed<\/td>\n<td class=\"wartn\">514 ms<\/td>\n<td class=\"wartn\">411 ms (<span class=\"ben1s\">1.25x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_cpu_io_mixed_tg<\/td>\n<td class=\"wartn\">508 ms<\/td>\n<td class=\"wartn\">393 ms (<span class=\"ben1s\">1.29x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_eager<\/td>\n<td class=\"wartn\">70.9 ms<\/td>\n<td class=\"wartn\">73.4 ms (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_eager_cpu_io_mixed<\/td>\n<td class=\"wartn\">303 ms<\/td>\n<td class=\"wartn\">312 ms (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_eager_cpu_io_mixed_tg<\/td>\n<td class=\"wartn\">278 ms<\/td>\n<td class=\"wartn\">281 ms (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_eager_io<\/td>\n<td class=\"wartn\">982 ms<\/td>\n<td class=\"wartn\">636 ms (<span class=\"ben1s\">1.54x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_eager_io_tg<\/td>\n<td class=\"wartn\">969 ms<\/td>\n<td class=\"wartn\">600 ms (<span class=\"ben1s\">1.61x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_eager_memoization<\/td>\n<td class=\"wartn\">170 ms<\/td>\n<td class=\"wartn\">174 ms (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_eager_memoization_tg<\/td>\n<td class=\"wartn\">138 ms<\/td>\n<td class=\"wartn\">140 ms (<span class=\"ben2\">1.01x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_eager_tg<\/td>\n<td class=\"wartn\">49.0 ms<\/td>\n<td class=\"wartn\">49.0 ms (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_io<\/td>\n<td class=\"wartn\">852 ms<\/td>\n<td class=\"wartn\">562 ms (<span class=\"ben1s\">1.52x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_io_tg<\/td>\n<td class=\"wartn\">865 ms<\/td>\n<td class=\"wartn\">562 ms (<span class=\"ben1s\">1.54x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_memoization<\/td>\n<td class=\"wartn\">374 ms<\/td>\n<td class=\"wartn\">290 ms (<span class=\"ben1s\">1.29x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_memoization_tg<\/td>\n<td class=\"wartn\">369 ms<\/td>\n<td class=\"wartn\">307 ms (<span class=\"ben1s\">1.20x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_none<\/td>\n<td class=\"wartn\">310 ms<\/td>\n<td class=\"wartn\">233 ms (<span class=\"ben1s\">1.33x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_none_tg<\/td>\n<td class=\"wartn\">284 ms<\/td>\n<td class=\"wartn\">214 ms (<span class=\"ben1s\">1.32x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">asyncio_tcp<\/td>\n<td class=\"wartn\">461 ms<\/td>\n<td class=\"wartn\">451 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">asyncio_tcp_ssl<\/td>\n<td class=\"wartn\">1.88 sec<\/td>\n<td class=\"wartn\">1.47 sec (<span class=\"ben1s\">1.28x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">bench_mp_pool<\/td>\n<td class=\"wartn\">77.3 ms<\/td>\n<td class=\"wartn\">77.7 ms (<span class=\"ben2\">1.01x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">bench_thread_pool<\/td>\n<td class=\"wartn\">692 us<\/td>\n<td class=\"wartn\">667 us (<span class=\"ben1\">1.04x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">chameleon<\/td>\n<td class=\"wartn\">5.43 ms<\/td>\n<td class=\"wartn\">4.90 ms (<span class=\"ben1s\">1.11x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">chaos<\/td>\n<td class=\"wartn\">45.7 ms<\/td>\n<td class=\"wartn\">39.4 ms (<span class=\"ben1s\">1.16x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">comprehensions<\/td>\n<td class=\"wartn\">13.7 us<\/td>\n<td class=\"wartn\">10.0 us (<span class=\"ben1s\">1.37x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">coroutines<\/td>\n<td class=\"wartn\">15.7 ms<\/td>\n<td class=\"wartn\">14.3 ms (<span class=\"ben1s\">1.10x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">coverage<\/td>\n<td class=\"wartn\">35.4 ms<\/td>\n<td class=\"wartn\">48.3 ms (<span class=\"ben2s\">1.36x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">create_gc_cycles<\/td>\n<td class=\"wartn\">538 us<\/td>\n<td class=\"wartn\">609 us (<span class=\"ben2s\">1.13x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">crypto_pyaes<\/td>\n<td class=\"wartn\">51.6 ms<\/td>\n<td class=\"wartn\">48.6 ms (<span class=\"ben1\">1.06x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">dask<\/td>\n<td class=\"wartn\">236 ms<\/td>\n<td class=\"wartn\">248 ms (<span class=\"ben2\">1.05x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">deepcopy<\/td>\n<td class=\"wartn\">224 us<\/td>\n<td class=\"wartn\">215 us (<span class=\"ben1\">1.04x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">deepcopy_memo<\/td>\n<td class=\"wartn\">25.8 us<\/td>\n<td class=\"wartn\">23.6 us (<span class=\"ben1\">1.09x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">deepcopy_reduce<\/td>\n<td class=\"wartn\">2.08 us<\/td>\n<td class=\"wartn\">2.00 us (<span class=\"ben1\">1.04x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">deltablue<\/td>\n<td class=\"wartn\">2.56 ms<\/td>\n<td class=\"wartn\">2.15 ms (<span class=\"ben1s\">1.19x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">django_template<\/td>\n<td class=\"wartn\">23.0 ms<\/td>\n<td class=\"wartn\">22.6 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">docutils<\/td>\n<td class=\"wartn\">1.46 sec<\/td>\n<td class=\"wartn\">1.40 sec (<span class=\"ben1\">1.05x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">dulwich_log<\/td>\n<td class=\"wartn\">49.6 ms<\/td>\n<td class=\"wartn\">46.5 ms (<span class=\"ben1\">1.07x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">fannkuch<\/td>\n<td class=\"wartn\">258 ms<\/td>\n<td class=\"wartn\">252 ms (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">float<\/td>\n<td class=\"wartn\">59.1 ms<\/td>\n<td class=\"wartn\">54.2 ms (<span class=\"ben1\">1.09x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">gc_traversal<\/td>\n<td class=\"wartn\">1.23 ms<\/td>\n<td class=\"wartn\">1.28 ms (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">generators<\/td>\n<td class=\"wartn\">24.6 ms<\/td>\n<td class=\"wartn\">19.9 ms (<span class=\"ben1s\">1.24x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">genshi_text<\/td>\n<td class=\"wartn\">15.5 ms<\/td>\n<td class=\"wartn\">15.6 ms (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">genshi_xml<\/td>\n<td class=\"wartn\">92.3 ms<\/td>\n<td class=\"wartn\">89.3 ms (<span class=\"ben1\">1.01x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">hexiom<\/td>\n<td class=\"wartn\">4.56 ms<\/td>\n<td class=\"wartn\">4.01 ms (<span class=\"ben1s\">1.14x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">html5lib<\/td>\n<td class=\"wartn\">32.9 ms<\/td>\n<td class=\"wartn\">32.0 ms (<span class=\"ben1\">1.03x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">json_dumps<\/td>\n<td class=\"wartn\">5.71 ms<\/td>\n<td class=\"wartn\">5.79 ms (<span class=\"ben2\">1.01x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">json_loads<\/td>\n<td class=\"wartn\">13.6 us<\/td>\n<td class=\"wartn\">14.1 us (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">logging_format<\/td>\n<td class=\"wartn\">6.66 us<\/td>\n<td class=\"wartn\">5.92 us (<span class=\"ben1s\">1.12x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">logging_silent<\/td>\n<td class=\"wartn\">68.2 ns<\/td>\n<td class=\"wartn\">63.3 ns (<span class=\"ben1\">1.08x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">logging_simple<\/td>\n<td class=\"wartn\">6.29 us<\/td>\n<td class=\"wartn\">5.46 us (<span class=\"ben1s\">1.15x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">mako<\/td>\n<td class=\"wartn\">7.56 ms<\/td>\n<td class=\"wartn\">6.79 ms (<span class=\"ben1s\">1.11x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">mdp<\/td>\n<td class=\"wartn\">1.61 sec<\/td>\n<td class=\"wartn\">1.60 sec (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">meteor_contest<\/td>\n<td class=\"wartn\">67.3 ms<\/td>\n<td class=\"wartn\">67.4 ms (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">nbody<\/td>\n<td class=\"wartn\">86.1 ms<\/td>\n<td class=\"wartn\">78.3 ms (<span class=\"ben1s\">1.10x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">nqueens<\/td>\n<td class=\"wartn\">65.3 ms<\/td>\n<td class=\"wartn\">58.0 ms (<span class=\"ben1s\">1.13x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pathlib<\/td>\n<td class=\"wartn\">230 ms<\/td>\n<td class=\"wartn\">226 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pickle<\/td>\n<td class=\"wartn\">7.43 us<\/td>\n<td class=\"wartn\">7.41 us (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pickle_dict<\/td>\n<td class=\"wartn\">19.8 us<\/td>\n<td class=\"wartn\">19.2 us (<span class=\"ben1\">1.03x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pickle_list<\/td>\n<td class=\"wartn\">2.85 us<\/td>\n<td class=\"wartn\">2.67 us (<span class=\"ben1\">1.07x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pickle_pure_python<\/td>\n<td class=\"wartn\">199 us<\/td>\n<td class=\"wartn\">178 us (<span class=\"ben1s\">1.12x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pidigits<\/td>\n<td class=\"wartn\">138 ms<\/td>\n<td class=\"wartn\">135 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pprint_pformat<\/td>\n<td class=\"wartn\">1.02 sec<\/td>\n<td class=\"wartn\">998 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pprint_safe_repr<\/td>\n<td class=\"wartn\">500 ms<\/td>\n<td class=\"wartn\">488 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pyflate<\/td>\n<td class=\"wartn\">322 ms<\/td>\n<td class=\"wartn\">299 ms (<span class=\"ben1\">1.08x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">python_startup<\/td>\n<td class=\"wartn\">29.4 ms<\/td>\n<td class=\"wartn\">30.7 ms (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">python_startup_no_site<\/td>\n<td class=\"wartn\">31.8 ms<\/td>\n<td class=\"wartn\">33.2 ms (<span class=\"ben2\">1.05x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">raytrace<\/td>\n<td class=\"wartn\">202 ms<\/td>\n<td class=\"wartn\">171 ms (<span class=\"ben1s\">1.18x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex_compile<\/td>\n<td class=\"wartn\">82.2 ms<\/td>\n<td class=\"wartn\">71.1 ms (<span class=\"ben1s\">1.16x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex_dna<\/td>\n<td class=\"wartn\">101 ms<\/td>\n<td class=\"wartn\">103 ms (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex_effbot<\/td>\n<td class=\"wartn\">1.79 ms<\/td>\n<td class=\"wartn\">1.83 ms (<span class=\"ben2\">1.02x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex_v8<\/td>\n<td class=\"wartn\">14.3 ms<\/td>\n<td class=\"wartn\">16.1 ms (<span class=\"ben2s\">1.13x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">richards<\/td>\n<td class=\"wartn\">28.5 ms<\/td>\n<td class=\"wartn\">28.7 ms (<span class=\"ben2\">1.01x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">richards_super<\/td>\n<td class=\"wartn\">32.0 ms<\/td>\n<td class=\"wartn\">32.3 ms (<span class=\"ben2\">1.01x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_fft<\/td>\n<td class=\"wartn\">226 ms<\/td>\n<td class=\"wartn\">209 ms (<span class=\"ben1\">1.08x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_lu<\/td>\n<td class=\"wartn\">76.9 ms<\/td>\n<td class=\"wartn\">68.7 ms (<span class=\"ben1s\">1.12x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_monte_carlo<\/td>\n<td class=\"wartn\">49.0 ms<\/td>\n<td class=\"wartn\">44.7 ms (<span class=\"ben1s\">1.10x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_sor<\/td>\n<td class=\"wartn\">92.5 ms<\/td>\n<td class=\"wartn\">80.6 ms (<span class=\"ben1s\">1.15x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_sparse_mat_mult<\/td>\n<td class=\"wartn\">3.55 ms<\/td>\n<td class=\"wartn\">3.16 ms (<span class=\"ben1s\">1.13x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">spectral_norm<\/td>\n<td class=\"wartn\">77.6 ms<\/td>\n<td class=\"wartn\">70.4 ms (<span class=\"ben1s\">1.10x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlglot_normalize<\/td>\n<td class=\"wartn\">181 ms<\/td>\n<td class=\"wartn\">170 ms (<span class=\"ben1\">1.06x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlglot_optimize<\/td>\n<td class=\"wartn\">33.4 ms<\/td>\n<td class=\"wartn\">32.2 ms (<span class=\"ben1\">1.04x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlglot_parse<\/td>\n<td class=\"wartn\">866 us<\/td>\n<td class=\"wartn\">781 us (<span class=\"ben1s\">1.11x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlglot_transpile<\/td>\n<td class=\"wartn\">1.05 ms<\/td>\n<td class=\"wartn\">949 us (<span class=\"ben2s\">1.11x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlite_synth<\/td>\n<td class=\"wartn\">1.54 us<\/td>\n<td class=\"wartn\">1.47 us (<span class=\"ben1\">1.05x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sympy_expand<\/td>\n<td class=\"wartn\">249 ms<\/td>\n<td class=\"wartn\">246 ms (<span class=\"ben1\">1.01x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sympy_integrate<\/td>\n<td class=\"wartn\">11.6 ms<\/td>\n<td class=\"wartn\">11.0 ms (<span class=\"ben1\">1.06x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sympy_str<\/td>\n<td class=\"wartn\">155 ms<\/td>\n<td class=\"wartn\">143 ms (<span class=\"ben1\">1.08x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sympy_sum<\/td>\n<td class=\"wartn\">83.0 ms<\/td>\n<td class=\"wartn\">75.1 ms (<span class=\"ben1s\">1.11x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">telco<\/td>\n<td class=\"wartn\">4.40 ms<\/td>\n<td class=\"wartn\">4.87 ms (<span class=\"ben2s\">1.11x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">tomli_loads<\/td>\n<td class=\"wartn\">1.51 sec<\/td>\n<td class=\"wartn\">1.40 sec (<span class=\"ben1\">1.08x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">tornado_http<\/td>\n<td class=\"wartn\">97.1 ms<\/td>\n<td class=\"wartn\">91.7 ms (<span class=\"ben1\">1.06x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">typing_runtime_protocols<\/td>\n<td class=\"wartn\">105 us<\/td>\n<td class=\"wartn\">97.6 us (<span class=\"ben1\">1.08x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">unpack_sequence<\/td>\n<td class=\"wartn\">53.5 ns<\/td>\n<td class=\"wartn\">45.5 ns (<span class=\"ben1s\">1.17x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">unpickle<\/td>\n<td class=\"wartn\">9.02 us<\/td>\n<td class=\"wartn\">9.14 us (<span class=\"ben2\">1.01x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">unpickle_list<\/td>\n<td class=\"wartn\">3.19 us<\/td>\n<td class=\"wartn\">2.75 us (<span class=\"ben1s\">1.16x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">unpickle_pure_python<\/td>\n<td class=\"wartn\">153 us<\/td>\n<td class=\"wartn\">134 us (<span class=\"ben1s\">1.14x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">xml_etree_generate<\/td>\n<td class=\"wartn\">59.8 ms<\/td>\n<td class=\"wartn\">57.0 ms (<span class=\"ben1\">1.05x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">xml_etree_iterparse<\/td>\n<td class=\"wartn\">58.7 ms<\/td>\n<td class=\"wartn\">55.3 ms (<span class=\"ben1\">1.06x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">xml_etree_parse<\/td>\n<td class=\"wartn\">82.7 ms<\/td>\n<td class=\"wartn\">76.6 ms (<span class=\"ben1\">1.08x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">xml_etree_process<\/td>\n<td class=\"wartn\">41.4 ms<\/td>\n<td class=\"wartn\">39.6 ms (<span class=\"ben1\">1.05x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\"><strong>Wynik (\u015brednia geometryczna)<\/strong><\/td>\n<td class=\"wartn\"><\/td>\n<td class=\"wartn ben1b\"><span class=\"ben1\">1.08x szybciej<\/span><\/td>\n<\/tr>\n<\/table>\n<p>Przeprowadzona analiza wskazuje na to, \u017ce Python 3.13 ma najlepsze wyniki wydajno\u015bciowe w por\u00f3wnaniu do Pythona 3.12 w nast\u0119puj\u0105cych testach: <strong>async_tree_eager_io_tg<\/strong> (<span class=\"ben1s\">1.61x szybciej<\/span>), <strong>async_tree_eager_io<\/strong> (<span class=\"ben1s\">1.54x szybciej<\/span>), <strong>async_tree_io_tg<\/strong> (<span class=\"ben1s\">1.54x szybciej<\/span>). Mo\u017cna jednak zauwa\u017cy\u0107 spadek wydajno\u015bci w niekt\u00f3rych testach, szczeg\u00f3lnie w <strong>coverage<\/strong> (<span class=\"ben2s\">1.36x wolniej<\/span>), <strong>create_gc_cycles<\/strong> (<span class=\"ben2s\">1.13x wolniej<\/span>), <strong>regex_v8<\/strong> (<span class=\"ben2s\">1.13x wolniej<\/span>).<\/p>\n<p>Dodatkowo mo\u017cna sprawdzi\u0107 r\u00f3\u017cnice w wydajno\u015bci pomi\u0119dzy Pythonem 3.13 i Pythonem 3.12 w oparciu o testy nale\u017c\u0105ce do okre\u015blonych grup. Poni\u017csza tabela przedstawia \u015bredni\u0105 geometryczn\u0105 dla test\u00f3w por\u00f3wnawczych w ramach poszczeg\u00f3lnych grup dla Pythona 3.13 w por\u00f3wnaniu z Pythonem 3.12.<\/p>\n<table class=\"benchtab\">\n<tr>\n<th style=\"text-align:left;\">Grupa test\u00f3w<\/th>\n<th style=\"text-align:right;\">Python 3.13 w por\u00f3wnaniu do Pythona 3.12<\/th>\n<\/tr>\n<tr>\n<td class=\"nameben\">apps<\/td>\n<td class=\"wartn\"><span class=\"ben1\">1.06x szybciej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">asyncio<\/td>\n<td class=\"wartn\"><span class=\"ben1s\">1.22x szybciej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">math<\/td>\n<td class=\"wartn\"><span class=\"ben1\">1.07x szybciej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex<\/td>\n<td class=\"wartn\">nieznacznie<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">serialize<\/td>\n<td class=\"wartn\"><span class=\"ben1\">1.05x szybciej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">startup<\/td>\n<td class=\"wartn\"><span class=\"ben2\">1.04x wolniej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">template<\/td>\n<td class=\"wartn\"><span class=\"ben1\">1.03x szybciej<\/span><\/td>\n<\/tr>\n<\/table>\n<h2>Procesor Intel Core 13. generacji dla urz\u0105dze\u0144 mobilnych<\/h2>\n<p>Druga cz\u0119\u015b\u0107 test\u00f3w obejmowa\u0142a komputer mini PC z procesorem Intel Core i3-1315U (kt\u00f3ry jest r\u00f3wnie\u017c u\u017cywany w laptopach), pami\u0119ci\u0105 RAM DDR4 i dyskiem M.2 PCIe Gen4 NVMe. Poni\u017csza tabela przedstawia wyniki 98 test\u00f3w przeprowadzonych przy u\u017cyciu Pythona 3.12 (jako punktu odniesienia) i Pythona 3.13 na tym urz\u0105dzeniu. Test &#8222;dask&#8221; zosta\u0142 pomini\u0119ty, dlatego \u017ce nie uda\u0142o si\u0119 go uruchomi\u0107 na tej konfiguracji w wersji Pythona 3.13.<\/p>\n<table class=\"benchtab\">\n<tr>\n<th style=\"text-align:left;\">Nazwa testu<\/th>\n<th style=\"text-align:right;\">Python 3.12<\/th>\n<th style=\"text-align:right;\">Python 3.13<\/th>\n<\/tr>\n<tr>\n<td class=\"nameben\">2to3<\/td>\n<td class=\"wartn\">260 ms<\/td>\n<td class=\"wartn\">256 ms (<span class=\"ben1\">1.01x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_generators<\/td>\n<td class=\"wartn\">253 ms<\/td>\n<td class=\"wartn\">251 ms (<span class=\"ben1\">1.01x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_cpu_io_mixed<\/td>\n<td class=\"wartn\">544 ms<\/td>\n<td class=\"wartn\">428 ms (<span class=\"ben1s\">1.27x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_cpu_io_mixed_tg<\/td>\n<td class=\"wartn\">546 ms<\/td>\n<td class=\"wartn\">412 ms (<span class=\"ben1s\">1.33x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_eager<\/td>\n<td class=\"wartn\">78.7 ms<\/td>\n<td class=\"wartn\">83.9 ms (<span class=\"ben2\">1.07x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_eager_cpu_io_mixed<\/td>\n<td class=\"wartn\">343 ms<\/td>\n<td class=\"wartn\">336 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_eager_cpu_io_mixed_tg<\/td>\n<td class=\"wartn\">307 ms<\/td>\n<td class=\"wartn\">301 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_eager_io<\/td>\n<td class=\"wartn\">818 ms<\/td>\n<td class=\"wartn\">584 ms (<span class=\"ben1s\">1.40x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_eager_io_tg<\/td>\n<td class=\"wartn\">766 ms<\/td>\n<td class=\"wartn\">556 ms (<span class=\"ben1s\">1.38x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_eager_memoization<\/td>\n<td class=\"wartn\">203 ms<\/td>\n<td class=\"wartn\">203 ms (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_eager_memoization_tg<\/td>\n<td class=\"wartn\">159 ms<\/td>\n<td class=\"wartn\">161 ms (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_eager_tg<\/td>\n<td class=\"wartn\">52.9 ms<\/td>\n<td class=\"wartn\">54.1 ms (<span class=\"ben2\">1.02x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_io<\/td>\n<td class=\"wartn\">776 ms<\/td>\n<td class=\"wartn\">565 ms (<span class=\"ben1s\">1.37x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_io_tg<\/td>\n<td class=\"wartn\">798 ms<\/td>\n<td class=\"wartn\">556 ms (<span class=\"ben1s\">1.43x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_memoization<\/td>\n<td class=\"wartn\">379 ms<\/td>\n<td class=\"wartn\">308 ms (<span class=\"ben1s\">1.23x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_memoization_tg<\/td>\n<td class=\"wartn\">397 ms<\/td>\n<td class=\"wartn\">322 ms (<span class=\"ben1s\">1.23x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_none<\/td>\n<td class=\"wartn\">330 ms<\/td>\n<td class=\"wartn\">252 ms (<span class=\"ben1s\">1.31x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_none_tg<\/td>\n<td class=\"wartn\">310 ms<\/td>\n<td class=\"wartn\">230 ms (<span class=\"ben1s\">1.35x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">asyncio_tcp<\/td>\n<td class=\"wartn\">609 ms<\/td>\n<td class=\"wartn\">585 ms (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">asyncio_tcp_ssl<\/td>\n<td class=\"wartn\">2.92 sec<\/td>\n<td class=\"wartn\">1.93 sec (<span class=\"ben1s\">1.51x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">bench_mp_pool<\/td>\n<td class=\"wartn\">93.2 ms<\/td>\n<td class=\"wartn\">93.8 ms (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">bench_thread_pool<\/td>\n<td class=\"wartn\">1.02 ms<\/td>\n<td class=\"wartn\">982 us (<span class=\"ben2\">1.04x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">chameleon<\/td>\n<td class=\"wartn\">5.53 ms<\/td>\n<td class=\"wartn\">5.41 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">chaos<\/td>\n<td class=\"wartn\">49.3 ms<\/td>\n<td class=\"wartn\">41.9 ms (<span class=\"ben1s\">1.18x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">comprehensions<\/td>\n<td class=\"wartn\">15.6 us<\/td>\n<td class=\"wartn\">11.4 us (<span class=\"ben1s\">1.37x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">coroutines<\/td>\n<td class=\"wartn\">15.5 ms<\/td>\n<td class=\"wartn\">14.1 ms (<span class=\"ben1s\">1.10x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">coverage<\/td>\n<td class=\"wartn\">37.3 ms<\/td>\n<td class=\"wartn\">144 ms (<span class=\"ben2s\">3.85x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">create_gc_cycles<\/td>\n<td class=\"wartn\">783 us<\/td>\n<td class=\"wartn\">883 us (<span class=\"ben2s\">1.13x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">crypto_pyaes<\/td>\n<td class=\"wartn\">53.9 ms<\/td>\n<td class=\"wartn\">50.0 ms (<span class=\"ben1\">1.08x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">deepcopy<\/td>\n<td class=\"wartn\">251 us<\/td>\n<td class=\"wartn\">260 us (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">deepcopy_memo<\/td>\n<td class=\"wartn\">27.2 us<\/td>\n<td class=\"wartn\">25.4 us (<span class=\"ben1\">1.07x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">deepcopy_reduce<\/td>\n<td class=\"wartn\">2.24 us<\/td>\n<td class=\"wartn\">2.30 us (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">deltablue<\/td>\n<td class=\"wartn\">2.31 ms<\/td>\n<td class=\"wartn\">2.11 ms (<span class=\"ben1\">1.09x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">django_template<\/td>\n<td class=\"wartn\">25.2 ms<\/td>\n<td class=\"wartn\">24.9 ms (<span class=\"ben1\">1.01x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">docutils<\/td>\n<td class=\"wartn\">1.84 sec<\/td>\n<td class=\"wartn\">1.93 sec (<span class=\"ben2\">1.05x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">fannkuch<\/td>\n<td class=\"wartn\">281 ms<\/td>\n<td class=\"wartn\">278 ms (<span class=\"ben1\">1.01x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">float<\/td>\n<td class=\"wartn\">59.8 ms<\/td>\n<td class=\"wartn\">54.6 ms (<span class=\"ben1s\">1.10x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">gc_traversal<\/td>\n<td class=\"wartn\">1.78 ms<\/td>\n<td class=\"wartn\">1.87 ms (<span class=\"ben2\">1.05x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">generators<\/td>\n<td class=\"wartn\">22.4 ms<\/td>\n<td class=\"wartn\">22.4 ms (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">genshi_text<\/td>\n<td class=\"wartn\">16.3 ms<\/td>\n<td class=\"wartn\">17.2 ms (<span class=\"ben2\">1.06x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">genshi_xml<\/td>\n<td class=\"wartn\">96.2 ms<\/td>\n<td class=\"wartn\">96.8 ms (<span class=\"ben2\">1.08x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">hexiom<\/td>\n<td class=\"wartn\">4.48 ms<\/td>\n<td class=\"wartn\">4.27 ms (<span class=\"ben1\">1.05x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">html5lib<\/td>\n<td class=\"wartn\">42.6 ms<\/td>\n<td class=\"wartn\">44.2 ms (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">json_dumps<\/td>\n<td class=\"wartn\">6.57 ms<\/td>\n<td class=\"wartn\">6.64 ms (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">json_loads<\/td>\n<td class=\"wartn\">16.3 us<\/td>\n<td class=\"wartn\">16.5 us (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">logging_format<\/td>\n<td class=\"wartn\">7.15 us<\/td>\n<td class=\"wartn\">6.60 us (<span class=\"ben1\">1.08x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">logging_silent<\/td>\n<td class=\"wartn\">65.4 ns<\/td>\n<td class=\"wartn\">59.6 ns (<span class=\"ben1s\">1.10x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">logging_simple<\/td>\n<td class=\"wartn\">6.75 us<\/td>\n<td class=\"wartn\">6.11 us (<span class=\"ben1s\">1.10x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">mako<\/td>\n<td class=\"wartn\">7.30 ms<\/td>\n<td class=\"wartn\">7.02 ms (<span class=\"ben1\">1.04x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">mdp<\/td>\n<td class=\"wartn\">1.65 sec<\/td>\n<td class=\"wartn\">1.72 sec (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">meteor_contest<\/td>\n<td class=\"wartn\">82.9 ms<\/td>\n<td class=\"wartn\">81.2 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">nbody<\/td>\n<td class=\"wartn\">80.2 ms<\/td>\n<td class=\"wartn\">75.7 ms (<span class=\"ben1\">1.06x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">nqueens<\/td>\n<td class=\"wartn\">66.3 ms<\/td>\n<td class=\"wartn\">63.8 ms (<span class=\"ben1\">1.04x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pathlib<\/td>\n<td class=\"wartn\">82.9 ms<\/td>\n<td class=\"wartn\">81.1 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pickle<\/td>\n<td class=\"wartn\">8.26 us<\/td>\n<td class=\"wartn\">8.29 us (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pickle_dict<\/td>\n<td class=\"wartn\">21.2 us<\/td>\n<td class=\"wartn\">20.4 us (<span class=\"ben1\">1.04x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pickle_list<\/td>\n<td class=\"wartn\">3.28 us<\/td>\n<td class=\"wartn\">3.45 us (<span class=\"ben2\">1.05x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pickle_pure_python<\/td>\n<td class=\"wartn\">218 us<\/td>\n<td class=\"wartn\">209 us (<span class=\"ben1\">1.04x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pidigits<\/td>\n<td class=\"wartn\">171 ms<\/td>\n<td class=\"wartn\">168 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pprint_pformat<\/td>\n<td class=\"wartn\">1.16 sec<\/td>\n<td class=\"wartn\">1.13 sec (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pprint_safe_repr<\/td>\n<td class=\"wartn\">572 ms<\/td>\n<td class=\"wartn\">560 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pyflate<\/td>\n<td class=\"wartn\">341 ms<\/td>\n<td class=\"wartn\">321 ms (<span class=\"ben1\">1.06x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">python_startup<\/td>\n<td class=\"wartn\">25.4 ms<\/td>\n<td class=\"wartn\">26.1 ms (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">python_startup_no_site<\/td>\n<td class=\"wartn\">21.9 ms<\/td>\n<td class=\"wartn\">21.7 ms (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">raytrace<\/td>\n<td class=\"wartn\">218 ms<\/td>\n<td class=\"wartn\">176 ms (<span class=\"ben1s\">1.24x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex_compile<\/td>\n<td class=\"wartn\">97.5 ms<\/td>\n<td class=\"wartn\">91.4 ms (<span class=\"ben1\">1.07x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex_dna<\/td>\n<td class=\"wartn\">131 ms<\/td>\n<td class=\"wartn\">131 ms (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex_effbot<\/td>\n<td class=\"wartn\">1.79 ms<\/td>\n<td class=\"wartn\">1.78 ms (nieznacznie)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex_v8<\/td>\n<td class=\"wartn\">15.0 ms<\/td>\n<td class=\"wartn\">18.9 ms (<span class=\"ben2s\">1.26x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">richards<\/td>\n<td class=\"wartn\">29.8 ms<\/td>\n<td class=\"wartn\">29.2 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">richards_super<\/td>\n<td class=\"wartn\">33.8 ms<\/td>\n<td class=\"wartn\">33.3 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_fft<\/td>\n<td class=\"wartn\">220 ms<\/td>\n<td class=\"wartn\">193 ms (<span class=\"ben1s\">1.14x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_lu<\/td>\n<td class=\"wartn\">70.5 ms<\/td>\n<td class=\"wartn\">60.1 ms (<span class=\"ben1s\">1.17x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_monte_carlo<\/td>\n<td class=\"wartn\">49.7 ms<\/td>\n<td class=\"wartn\">45.7 ms (<span class=\"ben1\">1.09x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_sor<\/td>\n<td class=\"wartn\">92.4 ms<\/td>\n<td class=\"wartn\">81.5 ms (<span class=\"ben1s\">1.13x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_sparse_mat_mult<\/td>\n<td class=\"wartn\">3.14 ms<\/td>\n<td class=\"wartn\">2.64 ms (<span class=\"ben1s\">1.19x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">spectral_norm<\/td>\n<td class=\"wartn\">77.4 ms<\/td>\n<td class=\"wartn\">66.6 ms (<span class=\"ben1s\">1.16x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlglot_normalize<\/td>\n<td class=\"wartn\">203 ms<\/td>\n<td class=\"wartn\">202 ms (<span class=\"ben1\">1.01x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlglot_optimize<\/td>\n<td class=\"wartn\">37.8 ms<\/td>\n<td class=\"wartn\">38.4 ms (<span class=\"ben2\">1.01x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlglot_parse<\/td>\n<td class=\"wartn\">922 us<\/td>\n<td class=\"wartn\">860 us (<span class=\"ben1\">1.07x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlglot_transpile<\/td>\n<td class=\"wartn\">1.16 ms<\/td>\n<td class=\"wartn\">1.10 ms (<span class=\"ben1\">1.06x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlite_synth<\/td>\n<td class=\"wartn\">1.96 us<\/td>\n<td class=\"wartn\">1.83 us (<span class=\"ben1\">1.07x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sympy_expand<\/td>\n<td class=\"wartn\">307 ms<\/td>\n<td class=\"wartn\">331 ms (<span class=\"ben2\">1.08x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sympy_integrate<\/td>\n<td class=\"wartn\">14.3 ms<\/td>\n<td class=\"wartn\">14.0 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sympy_str<\/td>\n<td class=\"wartn\">189 ms<\/td>\n<td class=\"wartn\">191 ms (<span class=\"ben2\">1.01x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sympy_sum<\/td>\n<td class=\"wartn\">100 ms<\/td>\n<td class=\"wartn\">99.3 ms (<span class=\"ben1\">1.01x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">telco<\/td>\n<td class=\"wartn\">4.70 ms<\/td>\n<td class=\"wartn\">5.62 ms (<span class=\"ben2s\">1.19x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">tomli_loads<\/td>\n<td class=\"wartn\">1.56 sec<\/td>\n<td class=\"wartn\">1.58 sec (<span class=\"ben2\">1.01x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">tornado_http<\/td>\n<td class=\"wartn\">103 ms<\/td>\n<td class=\"wartn\">97.7 ms (<span class=\"ben1\">1.05x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">typing_runtime_protocols<\/td>\n<td class=\"wartn\">121 us<\/td>\n<td class=\"wartn\">116 us (<span class=\"ben1\">1.05x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">unpack_sequence<\/td>\n<td class=\"wartn\">57.4 ns<\/td>\n<td class=\"wartn\">44.4 ns (<span class=\"ben1s\">1.29x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">unpickle<\/td>\n<td class=\"wartn\">9.62 us<\/td>\n<td class=\"wartn\">9.89 us (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">unpickle_list<\/td>\n<td class=\"wartn\">3.28 us<\/td>\n<td class=\"wartn\">3.05 us (<span class=\"ben1\">1.07x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">unpickle_pure_python<\/td>\n<td class=\"wartn\">151 us<\/td>\n<td class=\"wartn\">144 us (<span class=\"ben1\">1.05x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">xml_etree_generate<\/td>\n<td class=\"wartn\">63.7 ms<\/td>\n<td class=\"wartn\">60.2 ms (<span class=\"ben1\">1.06x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">xml_etree_iterparse<\/td>\n<td class=\"wartn\">71.7 ms<\/td>\n<td class=\"wartn\">67.4 ms (<span class=\"ben1\">1.06x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">xml_etree_parse<\/td>\n<td class=\"wartn\">106 ms<\/td>\n<td class=\"wartn\">104 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">xml_etree_process<\/td>\n<td class=\"wartn\">42.9 ms<\/td>\n<td class=\"wartn\">41.9 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\"><strong>Wynik (\u015brednia geometryczna)<\/strong><\/td>\n<td class=\"wartn\"><\/td>\n<td class=\"wartn ben1b\"><span class=\"ben1\">1.05x szybciej<\/span><\/td>\n<\/tr>\n<\/table>\n<p>Przeprowadzona analiza wskazuje na to, \u017ce Python 3.13 ma najlepsze wyniki wydajno\u015bciowe w por\u00f3wnaniu do Pythona 3.12 w nast\u0119puj\u0105cych testach: <strong>asyncio_tcp_ssl<\/strong> (<span class=\"ben1s\">1.51x szybciej<\/span>), <strong>async_tree_io_tg<\/strong> (<span class=\"ben1s\">1.43x szybciej<\/span>), <strong>async_tree_eager_io<\/strong> (<span class=\"ben1s\">1.40x szybciej<\/span>). Mo\u017cna jednak zauwa\u017cy\u0107 spadek wydajno\u015bci w niekt\u00f3rych testach, szczeg\u00f3lnie w <strong>coverage<\/strong> (<span class=\"ben2s\">3.85x wolniej<\/span>), <strong>regex_v8<\/strong> (<span class=\"ben2s\">1.26x wolniej<\/span>), <strong>telco<\/strong> (<span class=\"ben2s\">1.19x wolniej<\/span>).<\/p>\n<p>Dodatkowo mo\u017cna sprawdzi\u0107 r\u00f3\u017cnice w wydajno\u015bci pomi\u0119dzy Pythonem 3.13 i Pythonem 3.12 w oparciu o testy nale\u017c\u0105ce do okre\u015blonych grup. Poni\u017csza tabela przedstawia \u015bredni\u0105 geometryczn\u0105 dla test\u00f3w por\u00f3wnawczych w ramach poszczeg\u00f3lnych grup dla Pythona 3.13 w por\u00f3wnaniu z Pythonem 3.12.<\/p>\n<table class=\"benchtab\">\n<tr>\n<th style=\"text-align:left;\">Grupa test\u00f3w<\/th>\n<th style=\"text-align:right;\">Python 3.13 w por\u00f3wnaniu do Pythona 3.12<\/th>\n<\/tr>\n<tr>\n<td class=\"nameben\">apps<\/td>\n<td class=\"wartn\">nieznacznie<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">asyncio<\/td>\n<td class=\"wartn\"><span class=\"ben1s\">1.19x szybciej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">math<\/td>\n<td class=\"wartn\"><span class=\"ben1\">1.06x szybciej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex<\/td>\n<td class=\"wartn\"><span class=\"ben2\">1.04x wolniej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">serialize<\/td>\n<td class=\"wartn\"><span class=\"ben1\">1.02x szybciej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">startup<\/td>\n<td class=\"wartn\"><span class=\"ben2\">1.01x wolniej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">template<\/td>\n<td class=\"wartn\"><span class=\"ben2\">1.02x wolniej<\/span><\/td>\n<\/tr>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>W tym artykule zosta\u0142y opisane wyniki test\u00f3w wydajno\u015bciowych dla Pythona 3.13 w por\u00f3wnaniu do poprzedniej wersji tego j\u0119zyka programowania, kt\u00f3rym jest Python 3.12. W sumie zosta\u0142o przeprowadzono 100 r\u00f3\u017cnych test\u00f3w por\u00f3wnawczych na komputerach z procesorem serii AMD Ryzen 7000 oraz procesorem Intel Core 13. generacji. Jeden z nich u\u017cywany jest w komputerach stacjonarnych, drugi &#8211; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":898,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[138,139,137,140],"class_list":["post-897","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artykuly","tag-amd-ryzen-serii-7000","tag-intel-core-13-generacji","tag-python","tag-test-wydajnosci"],"_links":{"self":[{"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/posts\/897","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=897"}],"version-history":[{"count":0,"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/posts\/897\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/media\/898"}],"wp:attachment":[{"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/media?parent=897"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/categories?post=897"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/tags?post=897"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}