Python Clear Linux vs. Ubuntu Performance

Python benchmarking for a future article.

Compare your own system(s) to this result file with the Phoronix Test Suite by running the command: phoronix-test-suite benchmark 1902146-SP-PYTHONPY282
Jump To Table - Results

View

Do Not Show Noisy Results
Do Not Show Results With Incomplete Data
Do Not Show Results With Little Change/Spread
List Notable Results

Limit displaying results to tests within:

CPU Massive 3 Tests
HPC - High Performance Computing 2 Tests
Machine Learning 2 Tests
Python 4 Tests
Server CPU Tests 4 Tests
Single-Threaded 2 Tests

Statistics

Show Overall Harmonic Mean(s)
Show Overall Geometric Mean
Show Geometric Means Per-Suite/Category
Show Wins / Losses Counts (Pie Chart)
Normalize Results
Remove Outliers Before Calculating Averages

Graph Settings

Force Line Graphs Where Applicable
Convert To Scalar Where Applicable
Disable Color Branding
Prefer Vertical Bar Graphs

Table

Show Detailed System Result Table

Run Management

Highlight
Result
Hide
Result
Result
Identifier
Performance Per
Dollar
Date
Run
  Test
  Duration
Clear Linux Default Python
February 13 2019
  38 Minutes
Upstream Python 3.7.2 On Clear
February 13 2019
  7 Minutes
Intel Python 2019u2 On Clear Linux
February 13 2019
  43 Minutes
Ubuntu Linux Default Python
February 13 2019
  1 Hour, 18 Minutes
Invert Hiding All Results Option
  41 Minutes

Only show results where is faster than
Only show results matching title/arguments (delimit multiple options with a comma):
Do not show results matching title/arguments (delimit multiple options with a comma):


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 PythonIntel 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 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.7Security 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

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 Python458870021.829007.6125.91997468526292.60131410.88887880837.621316146.36OpenBenchmarking.org

Numpy Benchmark

This is a test to obtain the general Numpy performance. Learn more via the OpenBenchmarking.org test page.

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

Cython benchmark

Stress benchmark tests to measure time consumed by cython code Learn more via the OpenBenchmarking.org test page.

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
OpenBenchmarking.orgSeconds, Fewer Is BetterCython benchmark 0.27Clear Linux Default PythonUpstream Python 3.7.2 On ClearIntel Python 2019u2 On Clear LinuxUbuntu Linux Default Python20406080100Min: 21.73 / Avg: 21.82 / Max: 21.89Min: 23.96 / Avg: 25.91 / Max: 28.9Min: 91.92 / Avg: 92.6 / Max: 93.34Min: 37.42 / Avg: 37.62 / Max: 37.91

PyBench

This test profile reports the total time of the different average timed test results from PyBench. PyBench reports average test times for different functions such as BuiltinFunctionCalls and NestedForLoops, with this total result providing a rough estimate as to Python's average performance on a given system. This test profile runs PyBench each time for 20 rounds. Learn more via the OpenBenchmarking.org test page.

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
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 Python2004006008001000Min: 895 / Avg: 899.67 / Max: 902Min: 991 / Avg: 997.33 / Max: 1001Min: 1312 / Avg: 1313.67 / Max: 1315

Scikit-Learn

Scikit-learn is a Python module for machine learning Learn more via the OpenBenchmarking.org test page.

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
OpenBenchmarking.orgSeconds, Fewer Is BetterScikit-Learn 0.17.1Clear Linux Default PythonIntel Python 2019u2 On Clear LinuxUbuntu Linux Default Python306090120150Min: 7.58 / Avg: 7.61 / Max: 7.64Min: 10.82 / Avg: 10.88 / Max: 10.92Min: 146.11 / Avg: 146.36 / Max: 146.53