Python 3.11 Benchmarks Beta

Python 3.11 (beta) benchmarks by Michael Larabel for a future article against Pyston and PyPy. More Python 3.11 benchmarks to come on Phoronix.

HTML result view exported from: https://openbenchmarking.org/result/2206071-PTS-PYTHON3176&rdt&gru.

Python 3.11 Benchmarks BetaProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerOpenGLVulkanCompilerFile-SystemScreen ResolutionPython 3.10.4Python 3.11b1Python 3.9.13Python 3.8.13Python 3.11b3Pyston 2.3.3PyPy 3.9-v7.3.9AMD Ryzen 9 5950X 16-Core @ 3.40GHz (16 Cores / 32 Threads)ASUS ROG CROSSHAIR VIII HERO (WI-FI) (4006 BIOS)AMD Starship/Matisse32GB1000GB Sabrent Rocket 4.0 PlusAMD Radeon RX 6800 16GB (2475/1000MHz)AMD Navi 21 HDMI AudioASUS MG28URealtek RTL8125 2.5GbE + Intel I211 + Intel Wi-Fi 6 AX200Ubuntu 22.045.18.0-051800-generic (x86_64)GNOME Shell 42.0X Server + Wayland4.6 Mesa 22.0.1 (LLVM 13.0.1 DRM 3.46)1.2.204GCC 11.2.0ext43840x2160OpenBenchmarking.orgKernel Details- Transparent Huge Pages: madviseCompiler Details- Python 3.10.4, Python 3.11b1, Python 3.9.13, Python 3.8.13: --build=x86_64-linux-gnu --disable-vtable-verify --disable-werror --enable-bootstrap --enable-cet --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --enable-libphobos-checking=release --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-link-serialization=2 --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none=/build/gcc-11-gBFGDP/gcc-11-11.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-gBFGDP/gcc-11-11.2.0/debian/tmp-gcn/usr --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-build-config=bootstrap-lto-lean --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-multilib-list=m32,m64,mx32 --with-target-system-zlib=auto --with-tune=generic --without-cuda-driver -v Processor Details- Scaling Governor: acpi-cpufreq schedutil (Boost: Enabled) - CPU Microcode: 0xa201016Python Details- Python 3.10.4: Python 3.10.4- Python 3.11b1: Python 3.11.0b1- Python 3.9.13: Python 3.9.13- Python 3.8.13: Python 3.8.13- Python 3.11b3: Python 3.11.0b3- Pyston 2.3.3: Python 3.8.12 (heads/release_2.3.3:311297b831 Mar 30 2022 10:20:00)[Pyston 2.3.3 GCC 9.4.0]- PyPy 3.9-v7.3.9: Python 3.9.12 (05fbe3aa5b0845e6c37239768aa455451aa5faba Mar 29 2022 08:15:34)[PyPy 7.3.9 with GCC 10.2.1 20210130 (Red Hat 10.2.1-11)] Security Details- itlb_multihit: Not affected + l1tf: Not affected + mds: Not affected + meltdown: Not affected + spec_store_bypass: Mitigation of SSB disabled via prctl + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization + spectre_v2: Mitigation of Retpolines IBPB: conditional IBRS_FW STIBP: always-on RSB filling + srbds: Not affected + tsx_async_abort: Not affected

Python 3.11 Benchmarks Betapybench: Total For Average Test Timespyperformance: gopyperformance: 2to3pyperformance: chaospyperformance: floatpyperformance: nbodypyperformance: pathlibpyperformance: raytracepyperformance: json_loadspyperformance: crypto_pyaespyperformance: regex_compilepyperformance: python_startuppyperformance: django_templatepyperformance: pickle_pure_pythonPython 3.10.4Python 3.11b1Python 3.9.13Python 3.8.13Python 3.11b3Pyston 2.3.3PyPy 3.9-v7.3.984017924287.279.8100.114.237018.884.01376.1835.735071210218352.252.167.112.922216.952.71015.4625.622582619524390.087.599.613.839117.986.91356.2938.535182719524190.788.395.014.339020.286.51356.3639.235869110618752.954.065.712.822816.552.31055.5525.923140892.315030.939.733.610.21611545.951.25.8319.314723392.415030.939.933.510.316115.146.051.65.8819.3147OpenBenchmarking.org

PyBench

Total For Average Test Times

OpenBenchmarking.orgMilliseconds, Fewer Is BetterPyBench 2018-02-16Total For Average Test TimesPython 3.10.4Python 3.11b1Python 3.9.13Python 3.8.13Python 3.11b3Pyston 2.3.3PyPy 3.9-v7.3.92004006008001000SE +/- 4.63, N = 3SE +/- 1.76, N = 3SE +/- 3.18, N = 3SE +/- 5.57, N = 3SE +/- 3.38, N = 3SE +/- 3.21, N = 3SE +/- 0.00, N = 3840712826827691408233

PyPerformance

Benchmark: go

OpenBenchmarking.orgMilliseconds, Fewer Is BetterPyPerformance 1.0.0Benchmark: goPython 3.10.4Python 3.11b1Python 3.9.13Python 3.8.13Python 3.11b3Pyston 2.3.3PyPy 3.9-v7.3.94080120160200SE +/- 0.58, N = 3SE +/- 0.33, N = 3SE +/- 0.58, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.06, N = 3SE +/- 0.06, N = 3179.0102.0195.0195.0106.092.392.4

PyPerformance

Benchmark: 2to3

OpenBenchmarking.orgMilliseconds, Fewer Is BetterPyPerformance 1.0.0Benchmark: 2to3Python 3.10.4Python 3.11b1Python 3.9.13Python 3.8.13Python 3.11b3Pyston 2.3.3PyPy 3.9-v7.3.950100150200250SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.88, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3242183243241187150150

PyPerformance

Benchmark: chaos

OpenBenchmarking.orgMilliseconds, Fewer Is BetterPyPerformance 1.0.0Benchmark: chaosPython 3.10.4Python 3.11b1Python 3.9.13Python 3.8.13Python 3.11b3Pyston 2.3.3PyPy 3.9-v7.3.920406080100SE +/- 0.20, N = 3SE +/- 0.20, N = 3SE +/- 0.03, N = 3SE +/- 0.03, N = 3SE +/- 0.15, N = 3SE +/- 0.03, N = 3SE +/- 0.00, N = 387.252.290.090.752.930.930.9

PyPerformance

Benchmark: float

OpenBenchmarking.orgMilliseconds, Fewer Is BetterPyPerformance 1.0.0Benchmark: floatPython 3.10.4Python 3.11b1Python 3.9.13Python 3.8.13Python 3.11b3Pyston 2.3.3PyPy 3.9-v7.3.920406080100SE +/- 0.15, N = 3SE +/- 0.15, N = 3SE +/- 0.12, N = 3SE +/- 0.03, N = 3SE +/- 0.09, N = 3SE +/- 0.12, N = 3SE +/- 0.09, N = 379.852.187.588.354.039.739.9

PyPerformance

Benchmark: nbody

OpenBenchmarking.orgMilliseconds, Fewer Is BetterPyPerformance 1.0.0Benchmark: nbodyPython 3.10.4Python 3.11b1Python 3.9.13Python 3.8.13Python 3.11b3Pyston 2.3.3PyPy 3.9-v7.3.920406080100SE +/- 0.49, N = 3SE +/- 0.29, N = 3SE +/- 0.20, N = 3SE +/- 0.35, N = 3SE +/- 0.33, N = 3SE +/- 0.26, N = 3SE +/- 0.12, N = 3100.167.199.695.065.733.633.5

PyPerformance

Benchmark: pathlib

OpenBenchmarking.orgMilliseconds, Fewer Is BetterPyPerformance 1.0.0Benchmark: pathlibPython 3.10.4Python 3.11b1Python 3.9.13Python 3.8.13Python 3.11b3Pyston 2.3.3PyPy 3.9-v7.3.948121620SE +/- 0.00, N = 3SE +/- 0.03, N = 3SE +/- 0.03, N = 3SE +/- 0.00, N = 3SE +/- 0.03, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 314.212.913.814.312.810.210.3

PyPerformance

Benchmark: raytrace

OpenBenchmarking.orgMilliseconds, Fewer Is BetterPyPerformance 1.0.0Benchmark: raytracePython 3.10.4Python 3.11b1Python 3.9.13Python 3.8.13Python 3.11b3Pyston 2.3.3PyPy 3.9-v7.3.980160240320400SE +/- 0.88, N = 3SE +/- 0.33, N = 3SE +/- 1.53, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.58, N = 3370222391390228161161

PyPerformance

Benchmark: json_loads

OpenBenchmarking.orgMilliseconds, Fewer Is BetterPyPerformance 1.0.0Benchmark: json_loadsPython 3.10.4Python 3.11b1Python 3.9.13Python 3.8.13Python 3.11b3Pyston 2.3.3PyPy 3.9-v7.3.9510152025SE +/- 0.06, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.03, N = 3SE +/- 0.03, N = 3SE +/- 0.00, N = 3SE +/- 0.03, N = 318.816.917.920.216.515.015.1

PyPerformance

Benchmark: crypto_pyaes

OpenBenchmarking.orgMilliseconds, Fewer Is BetterPyPerformance 1.0.0Benchmark: crypto_pyaesPython 3.10.4Python 3.11b1Python 3.9.13Python 3.8.13Python 3.11b3Pyston 2.3.3PyPy 3.9-v7.3.920406080100SE +/- 0.15, N = 3SE +/- 0.09, N = 3SE +/- 0.07, N = 3SE +/- 0.10, N = 3SE +/- 0.06, N = 3SE +/- 0.03, N = 3SE +/- 0.03, N = 384.052.786.986.552.345.946.0

PyPerformance

Benchmark: regex_compile

OpenBenchmarking.orgMilliseconds, Fewer Is BetterPyPerformance 1.0.0Benchmark: regex_compilePython 3.10.4Python 3.11b1Python 3.9.13Python 3.8.13Python 3.11b3Pyston 2.3.3PyPy 3.9-v7.3.9306090120150SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.07, N = 3SE +/- 0.07, N = 3137.0101.0135.0135.0105.051.251.6

PyPerformance

Benchmark: python_startup

OpenBenchmarking.orgMilliseconds, Fewer Is BetterPyPerformance 1.0.0Benchmark: python_startupPython 3.10.4Python 3.11b1Python 3.9.13Python 3.8.13Python 3.11b3Pyston 2.3.3PyPy 3.9-v7.3.9246810SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 36.185.466.296.365.555.835.88

PyPerformance

Benchmark: django_template

OpenBenchmarking.orgMilliseconds, Fewer Is BetterPyPerformance 1.0.0Benchmark: django_templatePython 3.10.4Python 3.11b1Python 3.9.13Python 3.8.13Python 3.11b3Pyston 2.3.3PyPy 3.9-v7.3.9918273645SE +/- 0.13, N = 3SE +/- 0.03, N = 3SE +/- 0.03, N = 3SE +/- 0.07, N = 3SE +/- 0.03, N = 3SE +/- 0.03, N = 3SE +/- 0.03, N = 335.725.638.539.225.919.319.3

PyPerformance

Benchmark: pickle_pure_python

OpenBenchmarking.orgMilliseconds, Fewer Is BetterPyPerformance 1.0.0Benchmark: pickle_pure_pythonPython 3.10.4Python 3.11b1Python 3.9.13Python 3.8.13Python 3.11b3Pyston 2.3.3PyPy 3.9-v7.3.980160240320400SE +/- 0.88, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.58, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3350225351358231147147


Phoronix Test Suite v10.8.5