{"id":822,"date":"2023-08-13T13:53:09","date_gmt":"2023-08-13T11:53:09","guid":{"rendered":"https:\/\/lewoniewski.info\/blog\/?p=822"},"modified":"2023-10-18T19:05:02","modified_gmt":"2023-10-18T17:05:02","slug":"python-3-9-kontra-python-3-10-test-wydajnosci","status":"publish","type":"post","link":"https:\/\/lewoniewski.info\/blog\/2023\/python-3-9-kontra-python-3-10-test-wydajnosci\/","title":{"rendered":"Python 3.9 kontra Python 3.10 \u2013 test wydajno\u015bci"},"content":{"rendered":"<p>W tym artykule zosta\u0142y opisane wyniki test\u00f3w wydajno\u015bciowych dla Pythona 3.10 w por\u00f3wnaniu z Pythonem 3.9. W sumie zosta\u0142o przeprowadzono 88 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.0.9<\/a> w <a href=\"https:\/\/www.python.org\/downloads\/release\/python-3913\/\" rel=\"noopener\" target=\"_blank\">Pythonie 3.9.13<\/a> oraz <a href=\"https:\/\/www.python.org\/downloads\/release\/python-31011\/\" rel=\"noopener\" target=\"_blank\">Pythonie 3.10.11<\/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 88 test\u00f3w przeprowadzonych przy u\u017cyciu Pythona 3.9 (jako punktu odniesienia) i Pythona 3.10 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.9<\/th>\n<th style=\"text-align:right;\">Python 3.10<\/th>\n<\/tr>\n<tr>\n<td class=\"nameben\">2to3<\/td>\n<td class=\"wartn\">217 ms<\/td>\n<td class=\"wartn\">216 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_generators<\/td>\n<td class=\"wartn\">221 ms<\/td>\n<td class=\"wartn\">230 ms (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_cpu_io_mixed<\/td>\n<td class=\"wartn\">682 ms<\/td>\n<td class=\"wartn\">685 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_io<\/td>\n<td class=\"wartn\">1.33 sec<\/td>\n<td class=\"wartn\">1.32 sec (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_memoization<\/td>\n<td class=\"wartn\">559 ms<\/td>\n<td class=\"wartn\">560 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_none<\/td>\n<td class=\"wartn\">479 ms<\/td>\n<td class=\"wartn\">471 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">asyncio_tcp<\/td>\n<td class=\"wartn\">619 ms<\/td>\n<td class=\"wartn\">686 ms (<span class=\"ben2s\">1.11x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">asyncio_tcp_ssl<\/td>\n<td class=\"wartn\">1.76 sec<\/td>\n<td class=\"wartn\">2.04 sec (<span class=\"ben2s\">1.16x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">bench_mp_pool<\/td>\n<td class=\"wartn\">56.7 ms<\/td>\n<td class=\"wartn\">55.4 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">bench_thread_pool<\/td>\n<td class=\"wartn\">706 us<\/td>\n<td class=\"wartn\">725 us (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">chameleon<\/td>\n<td class=\"wartn\">6.03 ms<\/td>\n<td class=\"wartn\">5.89 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">chaos<\/td>\n<td class=\"wartn\">57.6 ms<\/td>\n<td class=\"wartn\">57.1 ms (<span class=\"ben1\">1.01x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">comprehensions<\/td>\n<td class=\"wartn\">14.5 us<\/td>\n<td class=\"wartn\">14.6 us (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">coroutines<\/td>\n<td class=\"wartn\">21.4 ms<\/td>\n<td class=\"wartn\">17.3 ms (<span class=\"ben1s\">1.24x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">coverage<\/td>\n<td class=\"wartn\">25.5 ms<\/td>\n<td class=\"wartn\">33.5 ms (<span class=\"ben2s\">1.31x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">create_gc_cycles<\/td>\n<td class=\"wartn\">635 us<\/td>\n<td class=\"wartn\">637 us (<span class=\"ben2\">1.00x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">crypto_pyaes<\/td>\n<td class=\"wartn\">61.8 ms<\/td>\n<td class=\"wartn\">62.7 ms (<span class=\"ben2\">1.01x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">dask<\/td>\n<td class=\"wartn\">269 ms<\/td>\n<td class=\"wartn\">263 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">deepcopy<\/td>\n<td class=\"wartn\">245 us<\/td>\n<td class=\"wartn\">253 us (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">deepcopy_memo<\/td>\n<td class=\"wartn\">28.3 us<\/td>\n<td class=\"wartn\">28.9 us (<span class=\"ben2\">1.02x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">deepcopy_reduce<\/td>\n<td class=\"wartn\">2.19 us<\/td>\n<td class=\"wartn\">2.20 us (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">deltablue<\/td>\n<td class=\"wartn\">4.00 ms<\/td>\n<td class=\"wartn\">4.27 ms (<span class=\"ben2\">1.07x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">django_template<\/td>\n<td class=\"wartn\">28.4 ms<\/td>\n<td class=\"wartn\">28.2 ms (<span class=\"ben1\">1.01x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">docutils<\/td>\n<td class=\"wartn\">1.57 sec<\/td>\n<td class=\"wartn\">1.63 sec (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">fannkuch<\/td>\n<td class=\"wartn\">263 ms<\/td>\n<td class=\"wartn\">256 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">float<\/td>\n<td class=\"wartn\">66.6 ms<\/td>\n<td class=\"wartn\">66.7 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">gc_traversal<\/td>\n<td class=\"wartn\">1.20 ms<\/td>\n<td class=\"wartn\">1.20 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">generators<\/td>\n<td class=\"wartn\">32.8 ms<\/td>\n<td class=\"wartn\">41.8 ms (<span class=\"ben2s\">1.27x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">genshi_text<\/td>\n<td class=\"wartn\">19.1 ms<\/td>\n<td class=\"wartn\">18.7 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">genshi_xml<\/td>\n<td class=\"wartn\">140 ms<\/td>\n<td class=\"wartn\">132 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">hexiom<\/td>\n<td class=\"wartn\">5.26 ms<\/td>\n<td class=\"wartn\">5.46 ms (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">html5lib<\/td>\n<td class=\"wartn\">41.6 ms<\/td>\n<td class=\"wartn\">39.3 ms (<span class=\"ben1\">1.06x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">json_dumps<\/td>\n<td class=\"wartn\">8.28 ms<\/td>\n<td class=\"wartn\">8.09 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">json_loads<\/td>\n<td class=\"wartn\">14.0 us<\/td>\n<td class=\"wartn\">13.3 us (<span class=\"ben1\">1.05x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">logging_format<\/td>\n<td class=\"wartn\">6.22 us<\/td>\n<td class=\"wartn\">6.74 us (<span class=\"ben2\">1.08x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">logging_silent<\/td>\n<td class=\"wartn\">104 ns<\/td>\n<td class=\"wartn\">102 ns (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">logging_simple<\/td>\n<td class=\"wartn\">5.78 us<\/td>\n<td class=\"wartn\">6.36 us (<span class=\"ben2s\">1.10x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">mako<\/td>\n<td class=\"wartn\">9.41 ms<\/td>\n<td class=\"wartn\">9.04 ms (<span class=\"ben1\">1.04x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">mdp<\/td>\n<td class=\"wartn\">1.77 sec<\/td>\n<td class=\"wartn\">1.68 sec (<span class=\"ben1\">1.05x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">meteor_contest<\/td>\n<td class=\"wartn\">63.7 ms<\/td>\n<td class=\"wartn\">65.9 ms (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">nbody<\/td>\n<td class=\"wartn\">80.7 ms<\/td>\n<td class=\"wartn\">81.8 ms (<span class=\"ben2\">1.01x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">nqueens<\/td>\n<td class=\"wartn\">57.7 ms<\/td>\n<td class=\"wartn\">61.3 ms (<span class=\"ben2\">1.06x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pathlib<\/td>\n<td class=\"wartn\">80.5 ms<\/td>\n<td class=\"wartn\">81.3 ms (<span class=\"ben2\">1.01x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pickle<\/td>\n<td class=\"wartn\">6.98 us<\/td>\n<td class=\"wartn\">6.86 us (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pickle_dict<\/td>\n<td class=\"wartn\">17.9 us<\/td>\n<td class=\"wartn\">18.5 us (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pickle_list<\/td>\n<td class=\"wartn\">2.49 us<\/td>\n<td class=\"wartn\">2.58 us (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pickle_pure_python<\/td>\n<td class=\"wartn\">250 us<\/td>\n<td class=\"wartn\">258 us (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pidigits<\/td>\n<td class=\"wartn\">139 ms<\/td>\n<td class=\"wartn\">136 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pprint_pformat<\/td>\n<td class=\"wartn\">900 ms<\/td>\n<td class=\"wartn\">1.17 sec (<span class=\"ben2s\">1.30x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pyflate<\/td>\n<td class=\"wartn\">394 ms<\/td>\n<td class=\"wartn\">387 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">python_startup<\/td>\n<td class=\"wartn\">17.7 ms<\/td>\n<td class=\"wartn\">17.4 ms (<span class=\"ben1\">1.01x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">python_startup_no_site<\/td>\n<td class=\"wartn\">13.2 ms<\/td>\n<td class=\"wartn\">13.2 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">raytrace<\/td>\n<td class=\"wartn\">267 ms<\/td>\n<td class=\"wartn\">275 ms (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex_compile<\/td>\n<td class=\"wartn\">86.8 ms<\/td>\n<td class=\"wartn\">89.5 ms (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex_dna<\/td>\n<td class=\"wartn\">106 ms<\/td>\n<td class=\"wartn\">111 ms (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex_effbot<\/td>\n<td class=\"wartn\">1.81 ms<\/td>\n<td class=\"wartn\">1.78 ms (<span class=\"ben1\">1.01x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex_v8<\/td>\n<td class=\"wartn\">14.9 ms<\/td>\n<td class=\"wartn\">15.0 ms (<span class=\"ben2\">1.01x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">richards<\/td>\n<td class=\"wartn\">38.0 ms<\/td>\n<td class=\"wartn\">41.7 ms (<span class=\"ben2s\">1.10x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">richards_super<\/td>\n<td class=\"wartn\">48.5 ms<\/td>\n<td class=\"wartn\">50.9 ms (<span class=\"ben2\">1.05x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_fft<\/td>\n<td class=\"wartn\">205 ms<\/td>\n<td class=\"wartn\">223 ms (<span class=\"ben2\">1.09x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_lu<\/td>\n<td class=\"wartn\">85.4 ms<\/td>\n<td class=\"wartn\">94.3 ms (<span class=\"ben2s\">1.10x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_monte_carlo<\/td>\n<td class=\"wartn\">57.9 ms<\/td>\n<td class=\"wartn\">58.1 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_sor<\/td>\n<td class=\"wartn\">105 ms<\/td>\n<td class=\"wartn\">105 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_sparse_mat_mult<\/td>\n<td class=\"wartn\">3.04 ms<\/td>\n<td class=\"wartn\">3.47 ms (<span class=\"ben2s\">1.14x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">spectral_norm<\/td>\n<td class=\"wartn\">79.7 ms<\/td>\n<td class=\"wartn\">82.1 ms (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlalchemy_declarative<\/td>\n<td class=\"wartn\">72.4 ms<\/td>\n<td class=\"wartn\">78.0 ms (<span class=\"ben2\">1.08x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlalchemy_imperative<\/td>\n<td class=\"wartn\">8.55 ms<\/td>\n<td class=\"wartn\">8.51 ms (<span class=\"ben1\">1.01x 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\">198 ms (<span class=\"ben2s\">1.10x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlglot_optimize<\/td>\n<td class=\"wartn\">34.6 ms<\/td>\n<td class=\"wartn\">37.1 ms (<span class=\"ben2\">1.07x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlglot_parse<\/td>\n<td class=\"wartn\">1.20 ms<\/td>\n<td class=\"wartn\">1.12 ms (<span class=\"ben1\">1.07x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlglot_transpile<\/td>\n<td class=\"wartn\">1.36 ms<\/td>\n<td class=\"wartn\">1.33 ms (<span class=\"ben1\">1.03x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlite_synth<\/td>\n<td class=\"wartn\">1.68 us<\/td>\n<td class=\"wartn\">1.54 us (<span class=\"ben1\">1.09x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sympy_expand<\/td>\n<td class=\"wartn\">261 ms<\/td>\n<td class=\"wartn\">265 ms (<span class=\"ben2\">1.02x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sympy_integrate<\/td>\n<td class=\"wartn\">12.8 ms<\/td>\n<td class=\"wartn\">12.7 ms (<span class=\"ben1\">1.01x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sympy_str<\/td>\n<td class=\"wartn\">159 ms<\/td>\n<td class=\"wartn\">162 ms (<span class=\"ben2\">1.02x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sympy_sum<\/td>\n<td class=\"wartn\">87.4 ms<\/td>\n<td class=\"wartn\">91.4 ms (<span class=\"ben2\">1.05x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">telco<\/td>\n<td class=\"wartn\">3.89 ms<\/td>\n<td class=\"wartn\">3.80 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">tomli_loads<\/td>\n<td class=\"wartn\">1.57 sec<\/td>\n<td class=\"wartn\">1.69 sec (<span class=\"ben2\">1.07x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">tornado_http<\/td>\n<td class=\"wartn\">101 ms<\/td>\n<td class=\"wartn\">98.2 ms (<span class=\"ben1\">1.03x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">typing_runtime_protocols<\/td>\n<td class=\"wartn\">301 us<\/td>\n<td class=\"wartn\">314 us (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">unpack_sequence<\/td>\n<td class=\"wartn\">35.0 ns<\/td>\n<td class=\"wartn\">39.3 ns (<span class=\"ben2s\">1.12x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">unpickle<\/td>\n<td class=\"wartn\">7.90 us<\/td>\n<td class=\"wartn\">8.59 us (<span class=\"ben2\">1.09x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">unpickle_list<\/td>\n<td class=\"wartn\">2.87 us<\/td>\n<td class=\"wartn\">2.87 us (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">unpickle_pure_python<\/td>\n<td class=\"wartn\">171 us<\/td>\n<td class=\"wartn\">176 us (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">xml_etree_generate<\/td>\n<td class=\"wartn\">53.7 ms<\/td>\n<td class=\"wartn\">55.2 ms (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">xml_etree_iterparse<\/td>\n<td class=\"wartn\">55.4 ms<\/td>\n<td class=\"wartn\">57.6 ms (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">xml_etree_parse<\/td>\n<td class=\"wartn\">84.1 ms<\/td>\n<td class=\"wartn\">83.4 ms (<span class=\"ben1\">1.01x 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\">44.4 ms (<span class=\"ben2\">1.04x wolniej<\/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 ben2b\"><span class=\"ben2\">1.02x wolniej<\/span><\/td>\n<\/tr>\n<\/table>\n<p>Przeprowadzona analiza wskazuje na to, \u017ce Python 3.10 ma najlepsze wyniki wydajno\u015bciowe w por\u00f3wnaniu do Pythona 3.9 w nast\u0119puj\u0105cych testach: <strong>coroutines<\/strong> (<span class=\"ben1s\">1.24x szybciej<\/span>), <strong>sqlite_synth<\/strong> (<span class=\"ben1\">1.09x szybciej<\/span>), <strong>sqlglot_parse<\/strong> (<span class=\"ben1\">1.07x 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.31x wolniej<\/span>), <strong>pprint_pformat<\/strong> (<span class=\"ben2s\">1.30x wolniej<\/span>), <strong>generators<\/strong> (<span class=\"ben2s\">1.27x wolniej<\/span>).<\/p>\n<p>Dodatkowo mo\u017cna sprawdzi\u0107 r\u00f3\u017cnice w wydajno\u015bci pomi\u0119dzy Pythonem 3.10 i Pythonem 3.9 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.10 w por\u00f3wnaniu z Pythonem 3.9.<\/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.10 w por\u00f3wnaniu do Pythona 3.9<\/th>\n<\/tr>\n<tr>\n<td class=\"nameben\">apps<\/td>\n<td class=\"wartn\"><span class=\"ben1\">1.01x szybciej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">math<\/td>\n<td class=\"wartn\"><span class=\"ben1\">1.00x szybciej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex<\/td>\n<td class=\"wartn\"><span class=\"ben2\">1.02x wolniej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">serialize<\/td>\n<td class=\"wartn\"><span class=\"ben2\">1.02x wolniej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">startup<\/td>\n<td class=\"wartn\"><span class=\"ben1\">1.01x szybciej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">template<\/td>\n<td class=\"wartn\"><span class=\"ben1\">1.02x 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 88 test\u00f3w przeprowadzonych przy u\u017cyciu Pythona 3.9 (jako punktu odniesienia) i Pythona 3.10 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.9<\/th>\n<th style=\"text-align:right;\">Python 3.10<\/th>\n<\/tr>\n<tr>\n<td class=\"nameben\">2to3<\/td>\n<td class=\"wartn\">281 ms<\/td>\n<td class=\"wartn\">282 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_generators<\/td>\n<td class=\"wartn\">249 ms<\/td>\n<td class=\"wartn\">254 ms (<span class=\"ben2\">1.02x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_cpu_io_mixed<\/td>\n<td class=\"wartn\">708 ms<\/td>\n<td class=\"wartn\">716 ms (<span class=\"ben2\">1.01x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_io<\/td>\n<td class=\"wartn\">1.17 sec<\/td>\n<td class=\"wartn\">1.16 sec (<span class=\"ben1\">1.01x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_memoization<\/td>\n<td class=\"wartn\">583 ms<\/td>\n<td class=\"wartn\">593 ms (<span class=\"ben2\">1.02x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">async_tree_none<\/td>\n<td class=\"wartn\">479 ms<\/td>\n<td class=\"wartn\">486 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">asyncio_tcp<\/td>\n<td class=\"wartn\">912 ms<\/td>\n<td class=\"wartn\">981 ms (<span class=\"ben2\">1.08x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">asyncio_tcp_ssl<\/td>\n<td class=\"wartn\">2.24 sec<\/td>\n<td class=\"wartn\">2.43 sec (<span class=\"ben2\">1.08x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">bench_mp_pool<\/td>\n<td class=\"wartn\">92.4 ms<\/td>\n<td class=\"wartn\">89.5 ms (<span class=\"ben1\">1.03x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">bench_thread_pool<\/td>\n<td class=\"wartn\">1.20 ms<\/td>\n<td class=\"wartn\">1.24 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">chameleon<\/td>\n<td class=\"wartn\">6.93 ms<\/td>\n<td class=\"wartn\">6.47 ms (<span class=\"ben1\">1.07x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">chaos<\/td>\n<td class=\"wartn\">69.2 ms<\/td>\n<td class=\"wartn\">68.8 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">comprehensions<\/td>\n<td class=\"wartn\">16.3 us<\/td>\n<td class=\"wartn\">18.4 us (<span class=\"ben2s\">1.13x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">coroutines<\/td>\n<td class=\"wartn\">25.4 ms<\/td>\n<td class=\"wartn\">18.0 ms (<span class=\"ben1s\">1.42x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">coverage<\/td>\n<td class=\"wartn\">25.2 ms<\/td>\n<td class=\"wartn\">33.0 ms (<span class=\"ben2s\">1.31x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">create_gc_cycles<\/td>\n<td class=\"wartn\">883 us<\/td>\n<td class=\"wartn\">888 us (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">crypto_pyaes<\/td>\n<td class=\"wartn\">70.5 ms<\/td>\n<td class=\"wartn\">70.3 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">dask<\/td>\n<td class=\"wartn\">436 ms<\/td>\n<td class=\"wartn\">431 ms (<span class=\"ben1\">1.01x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">deepcopy<\/td>\n<td class=\"wartn\">288 us<\/td>\n<td class=\"wartn\">293 us (<span class=\"ben2\">1.02x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">deepcopy_memo<\/td>\n<td class=\"wartn\">31.2 us<\/td>\n<td class=\"wartn\">32.0 us (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">deepcopy_reduce<\/td>\n<td class=\"wartn\">2.52 us<\/td>\n<td class=\"wartn\">2.47 us (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">deltablue<\/td>\n<td class=\"wartn\">4.50 ms<\/td>\n<td class=\"wartn\">4.71 ms (<span class=\"ben2\">1.05x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">django_template<\/td>\n<td class=\"wartn\">34.6 ms<\/td>\n<td class=\"wartn\">33.3 ms (<span class=\"ben1\">1.04x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">docutils<\/td>\n<td class=\"wartn\">2.08 sec<\/td>\n<td class=\"wartn\">2.19 sec (<span class=\"ben2\">1.05x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">fannkuch<\/td>\n<td class=\"wartn\">289 ms<\/td>\n<td class=\"wartn\">306 ms (<span class=\"ben2\">1.06x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">float<\/td>\n<td class=\"wartn\">73.1 ms<\/td>\n<td class=\"wartn\">70.0 ms (<span class=\"ben1\">1.04x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">gc_traversal<\/td>\n<td class=\"wartn\">1.69 ms<\/td>\n<td class=\"wartn\">1.69 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">generators<\/td>\n<td class=\"wartn\">34.4 ms<\/td>\n<td class=\"wartn\">36.0 ms (<span class=\"ben2\">1.05x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">genshi_text<\/td>\n<td class=\"wartn\">21.1 ms<\/td>\n<td class=\"wartn\">21.6 ms (<span class=\"ben2\">1.02x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">genshi_xml<\/td>\n<td class=\"wartn\">157 ms<\/td>\n<td class=\"wartn\">153 ms (<span class=\"ben1\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">hexiom<\/td>\n<td class=\"wartn\">5.86 ms<\/td>\n<td class=\"wartn\">6.22 ms (<span class=\"ben2\">1.06x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">html5lib<\/td>\n<td class=\"wartn\">56.1 ms<\/td>\n<td class=\"wartn\">56.0 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">json_dumps<\/td>\n<td class=\"wartn\">8.96 ms<\/td>\n<td class=\"wartn\">9.76 ms (<span class=\"ben2\">1.09x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">json_loads<\/td>\n<td class=\"wartn\">16.5 us<\/td>\n<td class=\"wartn\">16.0 us (<span class=\"ben1\">1.03x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">logging_format<\/td>\n<td class=\"wartn\">7.50 us<\/td>\n<td class=\"wartn\">8.15 us (<span class=\"ben2\">1.09x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">logging_silent<\/td>\n<td class=\"wartn\">110 ns<\/td>\n<td class=\"wartn\">106 ns (<span class=\"ben1\">1.04x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">logging_simple<\/td>\n<td class=\"wartn\">6.97 us<\/td>\n<td class=\"wartn\">7.60 us (<span class=\"ben2\">1.09x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">mako<\/td>\n<td class=\"wartn\">10.5 ms<\/td>\n<td class=\"wartn\">9.78 ms (<span class=\"ben1\">1.07x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">mdp<\/td>\n<td class=\"wartn\">1.99 sec<\/td>\n<td class=\"wartn\">1.96 sec (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">meteor_contest<\/td>\n<td class=\"wartn\">81.9 ms<\/td>\n<td class=\"wartn\">83.7 ms (<span class=\"ben2\">1.02x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">nbody<\/td>\n<td class=\"wartn\">81.5 ms<\/td>\n<td class=\"wartn\">80.5 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">nqueens<\/td>\n<td class=\"wartn\">69.8 ms<\/td>\n<td class=\"wartn\">75.9 ms (<span class=\"ben2\">1.09x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pathlib<\/td>\n<td class=\"wartn\">74.6 ms<\/td>\n<td class=\"wartn\">77.5 ms (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pickle<\/td>\n<td class=\"wartn\">7.89 us<\/td>\n<td class=\"wartn\">7.85 us (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pickle_dict<\/td>\n<td class=\"wartn\">20.0 us<\/td>\n<td class=\"wartn\">20.9 us (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pickle_list<\/td>\n<td class=\"wartn\">3.01 us<\/td>\n<td class=\"wartn\">3.11 us (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pickle_pure_python<\/td>\n<td class=\"wartn\">292 us<\/td>\n<td class=\"wartn\">302 us (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pidigits<\/td>\n<td class=\"wartn\">170 ms<\/td>\n<td class=\"wartn\">167 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.05 sec<\/td>\n<td class=\"wartn\">1.39 sec (<span class=\"ben2s\">1.33x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">pyflate<\/td>\n<td class=\"wartn\">471 ms<\/td>\n<td class=\"wartn\">461 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">python_startup<\/td>\n<td class=\"wartn\">25.1 ms<\/td>\n<td class=\"wartn\">25.0 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">python_startup_no_site<\/td>\n<td class=\"wartn\">19.8 ms<\/td>\n<td class=\"wartn\">19.4 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">raytrace<\/td>\n<td class=\"wartn\">301 ms<\/td>\n<td class=\"wartn\">320 ms (<span class=\"ben2\">1.06x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex_compile<\/td>\n<td class=\"wartn\">112 ms<\/td>\n<td class=\"wartn\">118 ms (<span class=\"ben2\">1.05x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex_dna<\/td>\n<td class=\"wartn\">147 ms<\/td>\n<td class=\"wartn\">148 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex_effbot<\/td>\n<td class=\"wartn\">1.78 ms<\/td>\n<td class=\"wartn\">1.88 ms (<span class=\"ben2\">1.06x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">regex_v8<\/td>\n<td class=\"wartn\">16.5 ms<\/td>\n<td class=\"wartn\">17.0 ms (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">richards<\/td>\n<td class=\"wartn\">41.1 ms<\/td>\n<td class=\"wartn\">46.6 ms (<span class=\"ben2s\">1.13x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">richards_super<\/td>\n<td class=\"wartn\">51.7 ms<\/td>\n<td class=\"wartn\">58.5 ms (<span class=\"ben2s\">1.13x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_fft<\/td>\n<td class=\"wartn\">211 ms<\/td>\n<td class=\"wartn\">214 ms (<span class=\"ben2\">1.01x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_lu<\/td>\n<td class=\"wartn\">87.0 ms<\/td>\n<td class=\"wartn\">93.7 ms (<span class=\"ben2\">1.08x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_monte_carlo<\/td>\n<td class=\"wartn\">65.7 ms<\/td>\n<td class=\"wartn\">64.1 ms (<span class=\"ben1\">1.03x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_sor<\/td>\n<td class=\"wartn\">111 ms<\/td>\n<td class=\"wartn\">114 ms (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">scimark_sparse_mat_mult<\/td>\n<td class=\"wartn\">2.95 ms<\/td>\n<td class=\"wartn\">2.97 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">spectral_norm<\/td>\n<td class=\"wartn\">86.0 ms<\/td>\n<td class=\"wartn\">84.8 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlalchemy_declarative<\/td>\n<td class=\"wartn\">115 ms<\/td>\n<td class=\"wartn\">125 ms (<span class=\"ben2\">1.09x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlalchemy_imperative<\/td>\n<td class=\"wartn\">13.3 ms<\/td>\n<td class=\"wartn\">13.1 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlglot_normalize<\/td>\n<td class=\"wartn\">207 ms<\/td>\n<td class=\"wartn\">234 ms (<span class=\"ben2s\">1.13x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlglot_optimize<\/td>\n<td class=\"wartn\">41.0 ms<\/td>\n<td class=\"wartn\">44.8 ms (<span class=\"ben2\">1.09x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlglot_parse<\/td>\n<td class=\"wartn\">1.38 ms<\/td>\n<td class=\"wartn\">1.40 ms (<span class=\"ben2\">1.01x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlglot_transpile<\/td>\n<td class=\"wartn\">1.62 ms<\/td>\n<td class=\"wartn\">1.67 ms (<span class=\"ben2\">1.03x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sqlite_synth<\/td>\n<td class=\"wartn\">2.26 us<\/td>\n<td class=\"wartn\">2.16 us (<span class=\"ben1\">1.05x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sympy_expand<\/td>\n<td class=\"wartn\">352 ms<\/td>\n<td class=\"wartn\">367 ms (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sympy_integrate<\/td>\n<td class=\"wartn\">16.7 ms<\/td>\n<td class=\"wartn\">17.4 ms (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sympy_str<\/td>\n<td class=\"wartn\">212 ms<\/td>\n<td class=\"wartn\">223 ms (<span class=\"ben2\">1.05x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">sympy_sum<\/td>\n<td class=\"wartn\">115 ms<\/td>\n<td class=\"wartn\">124 ms (<span class=\"ben2\">1.08x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">telco<\/td>\n<td class=\"wartn\">4.38 ms<\/td>\n<td class=\"wartn\">4.42 ms (<span class=\"ben2\">1.01x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">tomli_loads<\/td>\n<td class=\"wartn\">1.75 sec<\/td>\n<td class=\"wartn\">1.89 sec (<span class=\"ben2\">1.08x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">tornado_http<\/td>\n<td class=\"wartn\">142 ms<\/td>\n<td class=\"wartn\">140 ms (<span class=\"ben1\">1.02x szybciej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">typing_runtime_protocols<\/td>\n<td class=\"wartn\">361 us<\/td>\n<td class=\"wartn\">378 us (<span class=\"ben2\">1.05x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">unpack_sequence<\/td>\n<td class=\"wartn\">40.9 ns<\/td>\n<td class=\"wartn\">44.9 ns (<span class=\"ben2s\">1.10x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">unpickle<\/td>\n<td class=\"wartn\">9.05 us<\/td>\n<td class=\"wartn\">9.21 us (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">unpickle_list<\/td>\n<td class=\"wartn\">2.99 us<\/td>\n<td class=\"wartn\">3.16 us (<span class=\"ben2\">1.06x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">unpickle_pure_python<\/td>\n<td class=\"wartn\">199 us<\/td>\n<td class=\"wartn\">209 us (<span class=\"ben2\">1.05x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">xml_etree_generate<\/td>\n<td class=\"wartn\">59.5 ms<\/td>\n<td class=\"wartn\">61.8 ms (<span class=\"ben2\">1.04x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">xml_etree_iterparse<\/td>\n<td class=\"wartn\">69.7 ms<\/td>\n<td class=\"wartn\">74.4 ms (<span class=\"ben2\">1.07x wolniej<\/span>)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">xml_etree_parse<\/td>\n<td class=\"wartn\">113 ms<\/td>\n<td class=\"wartn\">114 ms (nieistotne)<\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">xml_etree_process<\/td>\n<td class=\"wartn\">54.6 ms<\/td>\n<td class=\"wartn\">49.5 ms (<span class=\"ben1s\">1.10x 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 ben2b\"><span class=\"ben2\">1.03x wolniej<\/span><\/td>\n<\/tr>\n<\/table>\n<p>Przeprowadzona analiza wskazuje na to, \u017ce Python 3.10 ma najlepsze wyniki wydajno\u015bciowe w por\u00f3wnaniu do Pythona 3.9 w nast\u0119puj\u0105cych testach: <strong>coroutines<\/strong> (<span class=\"ben1s\">1.42x szybciej<\/span>), <strong>xml_etree_process<\/strong> (<span class=\"ben1s\">1.10x szybciej<\/span>), <strong>chameleon<\/strong> (<span class=\"ben1\">1.07x szybciej<\/span>). Mo\u017cna jednak zauwa\u017cy\u0107 spadek wydajno\u015bci w niekt\u00f3rych testach, szczeg\u00f3lnie w <strong>pprint_pformat<\/strong> (<span class=\"ben2s\">1.33x wolniej<\/span>), <strong>coverage<\/strong> (<span class=\"ben2s\">1.31x wolniej<\/span>), <strong>comprehensions<\/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.10 i Pythonem 3.9 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.10 w por\u00f3wnaniu z Pythonem 3.9.<\/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.10 w por\u00f3wnaniu do Pythona 3.9<\/th>\n<\/tr>\n<tr>\n<td class=\"nameben\">apps<\/td>\n<td class=\"wartn\"><span class=\"ben1\">1.01x szybciej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">asyncio<\/td>\n<td class=\"wartn\"><span class=\"ben2\">1.01x wolniej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">math<\/td>\n<td class=\"wartn\"><span class=\"ben1\">1.03x 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=\"ben2\">1.03x wolniej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">startup<\/td>\n<td class=\"wartn\"><span class=\"ben1\">1.01x szybciej<\/span><\/td>\n<\/tr>\n<tr>\n<td class=\"nameben\">template<\/td>\n<td class=\"wartn\"><span class=\"ben1\">1.01x szybciej<\/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.10 w por\u00f3wnaniu z Pythonem 3.9. W sumie zosta\u0142o przeprowadzono 88 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.<\/p>\n","protected":false},"author":1,"featured_media":823,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[138,139,137,140],"class_list":["post-822","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\/822","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=822"}],"version-history":[{"count":0,"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/posts\/822\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/media\/823"}],"wp:attachment":[{"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/media?parent=822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/categories?post=822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lewoniewski.info\/blog\/wp-json\/wp\/v2\/tags?post=822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}