Python Clear Linux vs. Ubuntu Performance

Python benchmarking for a future article.

HTML result view exported from: https://openbenchmarking.org/result/1902146-SP-PYTHONPY282&gru&rdt.

Python Clear Linux vs. Ubuntu PerformanceProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionClear Linux Default PythonUbuntu Linux Default PythonUpstream Python 3.7.2 On ClearIntel Python 2019u2 On Clear 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.0NVIDIA NV120 12GBClear 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.1OpenBenchmarking.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- Ubuntu Linux Default Python: Scaling Governor: intel_pstate powersave- Upstream Python 3.7.2 On Clear: Scaling Governor: intel_pstate performance- Intel Python 2019u2 On Clear Linux: Scaling Governor: intel_pstate performanceGraphics Details- Clear Linux Default Python: EXAPython Details- Clear Linux Default Python: Python 3.7.2- Ubuntu Linux Default Python: Python 2.7.15+ + Python 3.6.7- Upstream Python 3.7.2 On Clear: Python 3.7.2- Intel Python 2019u2 On Clear Linux: Python 3.6.8 :: IntelSecurity 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 - 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 - 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

Python Clear Linux vs. Ubuntu Performancepybench: Total For Average Test Timesnumpy: cython-bench: scikit-learn: Clear Linux Default PythonUbuntu Linux Default PythonUpstream Python 3.7.2 On ClearIntel Python 2019u2 On Clear Linux900458870021.827.611316887880837.62146.3699725.911314468526292.6010.88OpenBenchmarking.org

PyBench

Total For Average Test Times

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

Numpy Benchmark

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

Cython benchmark

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

Scikit-Learn

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


Phoronix Test Suite v10.8.5