Python Clear Linux vs. Ubuntu Performance

Python benchmarking for a future article.

HTML result view exported from: https://openbenchmarking.org/result/1902144-SP-PYTHONPY851.

Python Clear Linux vs. Ubuntu PerformanceProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionClear Linux Default PythonUpstream Python 3.7.2 On ClearIntel Python 2019u2 On Clear LinuxUbuntu Linux Default PythonPyPy On Ubuntu LinuxIntel Core i9-7980XE @ 4.20GHz (18 Cores / 36 Threads)ASUS PRIME X299-A (1602 BIOS)Intel Sky Lake-E DMI3 Registers16384MBSamsung SSD 970 EVO 500GBNVIDIA NV120 12GBRealtek ALC1220ASUS PB278Intel I219-VClear Linux OS 277604.20.7-694.native (x86_64)GNOME Shell 3.30.2X Server 1.20.3nouveau 1.0.164.3 Mesa 19.1.0-develGCC 8.2.1 20190212 + Clang 7.0.1 + LLVM 7.0.1ext42560x1440NVIDIA GeForce GTX TITAN X 12GBUbuntu 18.104.18.0-15-generic (x86_64)GNOME Shell 3.30.1X Server 1.20.1modesetting 1.20.14.3 Mesa 18.2.2GCC 8.2.0OpenBenchmarking.orgEnvironment Details- Clear Linux Default Python, Upstream Python 3.7.2 On Clear, Intel Python 2019u2 On Clear Linux: CFFLAGS=-g-O3-feliminate-unused-debug-types-pipe-Wall-Wp-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector--param=ssp-buffer-size=32-Wl--copy-dt-needed-entries-m64-fasynchronous-unwind-tables-Wp-D_REENTRANT-ftree-loop-distribute-patterns-Wl-z-Wl now-Wl-z-Wl relro-malign-data=abi-fno-semantic-interposition-ftree-vectorize-ftree-loop-vectorize-Wl-sort-common-Wl--enable-new-dtags FFLAGS=-g-O3-feliminate-unused-debug-types-pipe-Wall-Wp-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector--param=ssp-buffer-size=32-Wl--copy-dt-needed-entries-m64-fasynchronous-unwind-tables-Wp-D_REENTRANT-ftree-loop-distribute-patterns-Wl-z-Wl relro-malign-data=abi-fno-semantic-interposition-ftree-vectorize-ftree-loop-vectorize-Wl--enable-new-dtags CXXFLAGS=-g-O3-feliminate-unused-debug-types-pipe-Wall-Wp-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector--param=ssp-buffer-size=32-Wformat-Wformat-security-Wl--copy-dt-needed-entries-m64-fasynchronous-unwind-tables-Wp-D_REENTRANT-ftree-loop-distribute-patterns-Wl-z-Wl relro-fno-semantic-interposition-ffat-lto-objects-fno-signed-zeros-fno-trapping-math-fassociative-math-Wl-sort-common-Wl--enable-new-dtags-mtune=skylake-fvisibility-inlines-hidden-Wl--enable-new-dtags MESA_GLSL_CACHE_DISABLE=0 CFLAGS=-g-O3-feliminate-unused-debug-types-pipe-Wall-Wp-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector--param=ssp-buffer-size=32-Wformat-Wformat-security-Wl--copy-dt-needed-entries-m64-fasynchronous-unwind-tables-Wp-D_REENTRANT-ftree-loop-distribute-patterns-Wl-z-Wl relro-fno-semantic-interposition-ffat-lto-objects-fno-signed-zeros-fno-trapping-math-fassociative-math-Wl-sort-common-Wl--enable-new-dtags-mtune=skylake THEANO_FLAGS=floatX=float32 openmp=true gcc.cxxflags="-ftree-vectorize-mavx" Processor Details- Clear Linux Default Python: Scaling Governor: intel_pstate performance- Upstream Python 3.7.2 On Clear: Scaling Governor: intel_pstate performance- Intel Python 2019u2 On Clear Linux: Scaling Governor: intel_pstate performance- Ubuntu Linux Default Python: Scaling Governor: intel_pstate powersave- PyPy On Ubuntu Linux: Scaling Governor: intel_pstate powersaveGraphics Details- Clear Linux Default Python: EXAPython Details- Clear Linux Default Python: Python 3.7.2- Upstream Python 3.7.2 On Clear: Python 3.7.2- Intel Python 2019u2 On Clear Linux: Python 3.6.8 :: Intel- Ubuntu Linux Default Python: Python 2.7.15+ + Python 3.6.7- PyPy On Ubuntu Linux: Python 2.7.13 (6.0.0+dfsg-2 Aug 22 2018 00:10:03)[PyPy 6.0.0 with GCC 8.2.0]Security Details- Clear Linux Default Python: KPTI + __user pointer sanitization + Full generic retpoline IBPB: conditional IBRS_FW STIBP: conditional RSB filling + SSB disabled via prctl and seccomp + PTE Inversion; VMX: conditional cache flushes SMT vulnerable - Upstream Python 3.7.2 On Clear: KPTI + __user pointer sanitization + Full generic retpoline IBPB: conditional IBRS_FW STIBP: conditional RSB filling + SSB disabled via prctl and seccomp + PTE Inversion; VMX: conditional cache flushes SMT vulnerable - Intel Python 2019u2 On Clear Linux: KPTI + __user pointer sanitization + Full generic retpoline IBPB: conditional IBRS_FW STIBP: conditional RSB filling + SSB disabled via prctl and seccomp + PTE Inversion; VMX: conditional cache flushes SMT vulnerable - Ubuntu Linux Default Python: KPTI + __user pointer sanitization + Full generic retpoline IBPB IBRS_FW STIBP + SSB disabled via prctl and seccomp + PTE Inversion; VMX: conditional cache flushes SMT vulnerable- PyPy On Ubuntu Linux: KPTI + __user pointer sanitization + Full generic retpoline IBPB IBRS_FW STIBP + SSB disabled via prctl and seccomp + PTE Inversion; VMX: conditional cache flushes SMT vulnerable

Python Clear Linux vs. Ubuntu Performancenumpy: cython-bench: pybench: Total For Average Test Timesscikit-learn: Clear Linux Default PythonUpstream Python 3.7.2 On ClearIntel Python 2019u2 On Clear LinuxUbuntu Linux Default PythonPyPy On Ubuntu Linux458870021.829007.6125.91997468526292.60131410.88887880837.621316146.36OpenBenchmarking.org

Numpy Benchmark

OpenBenchmarking.orgNanoseconds, Fewer Is BetterNumpy BenchmarkClear Linux Default PythonIntel Python 2019u2 On Clear LinuxUbuntu Linux Default Python2M4M6M8M10M458870046852628878808

Cython benchmark

OpenBenchmarking.orgSeconds, Fewer Is BetterCython benchmark 0.27Clear Linux Default PythonUpstream Python 3.7.2 On ClearIntel Python 2019u2 On Clear LinuxUbuntu Linux Default Python20406080100SE +/- 0.05, N = 3SE +/- 0.67, N = 12SE +/- 0.41, N = 3SE +/- 0.15, N = 321.8225.9192.6037.62

PyBench

Total For Average Test Times

OpenBenchmarking.orgMilliseconds, Fewer Is BetterPyBench 2018-02-16Total For Average Test TimesClear Linux Default PythonUpstream Python 3.7.2 On ClearIntel Python 2019u2 On Clear LinuxUbuntu Linux Default Python30060090012001500SE +/- 2.33, N = 3SE +/- 3.18, N = 3SE +/- 0.88, N = 390099713141316

Scikit-Learn

OpenBenchmarking.orgSeconds, Fewer Is BetterScikit-Learn 0.17.1Clear Linux Default PythonIntel Python 2019u2 On Clear LinuxUbuntu Linux Default Python306090120150SE +/- 0.02, N = 3SE +/- 0.03, N = 3SE +/- 0.13, N = 37.6110.88146.36


Phoronix Test Suite v10.8.4