Python Clear Linux vs. Ubuntu Performance

Python benchmarking for a future article.

HTML result view exported from: https://openbenchmarking.org/result/1902140-SP-PYTHONPY215&grw&sro.

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 Performancecython-bench: scikit-learn: numpy: pybench: Total For Average Test TimesClear Linux Default PythonUpstream Python 3.7.2 On ClearIntel Python 2019u2 On Clear LinuxUbuntu Linux Default PythonPyPy On Ubuntu Linux21.827.61458870090025.9199792.6010.884685262131437.62146.3688788081316OpenBenchmarking.org

Cython benchmark

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

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

Numpy Benchmark

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

PyBench

Total For Average Test Times

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


Phoronix Test Suite v10.8.5