GCC 10 Compiler Optimization Benchmarks

Intel Cascade Lake compiler optimization benchmarks on GCC 10.

Compare your own system(s) to this result file with the Phoronix Test Suite by running the command: phoronix-test-suite benchmark 2005237-PTS-COMPS13296
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
Show Result Confidence Charts
Allow Limiting Results To Certain Suite(s)

Statistics

Show Overall Harmonic Mean(s)
Show Overall Geometric Mean
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
Prefer Vertical Bar Graphs

Multi-Way Comparison

Condense Multi-Option Tests Into Single Result Graphs

Table

Show Detailed System Result Table

Run Management

Highlight
Result
Toggle/Hide
Result
Result
Identifier
Performance Per
Dollar
Date
Run
  Test
  Duration
Baseline
May 23 2020
  3 Hours, 28 Minutes
PGO
May 23 2020
  3 Hours, 21 Minutes
Invert Behavior (Only Show Selected Data)
  3 Hours, 24 Minutes
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):


GCC 10 Compiler Optimization BenchmarksOpenBenchmarking.orgPhoronix Test SuiteIntel Core i9-10980XE @ 4.80GHz (18 Cores / 36 Threads)ASRock X299 Steel Legend (P1.30 BIOS)Intel Sky Lake-E DMI3 Registers32GBSamsung SSD 970 PRO 512GBNVIDIA NV132 11GBRealtek ALC1220ASUS MG28UIntel I219-V + Intel I211Ubuntu 20.045.4.0-29-generic (x86_64)GNOME Shell 3.36.1X Server 1.20.8modesetting 1.20.84.3 Mesa 20.0.4GCC 10.1.0ext43840x2160ProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionGCC 10 Compiler Optimization Benchmarks PerformanceSystem Logs- --disable-multilib --enable-checking=release- Scaling Governor: intel_pstate powersave - CPU Microcode: 0x500012c- Python 3.8.2- itlb_multihit: KVM: Mitigation of Split huge pages + l1tf: Not affected + mds: Not affected + meltdown: Not affected + spec_store_bypass: Mitigation of SSB disabled via prctl and seccomp + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization + spectre_v2: Mitigation of Enhanced IBRS IBPB: conditional RSB filling + tsx_async_abort: Mitigation of TSX disabled

Baseline vs. PGO ComparisonPhoronix Test SuiteBaseline+2%+2%+4%+4%+6%+6%7.9%3.5%3.3%2.3%T.T.F.S.SRotateRand Fill32YafaRayGraphicsMagickFacebook RocksDBMariaDBBaselinePGO

GCC 10 Compiler Optimization Benchmarkscryptopp: Keyed Algorithmscryptopp: Unkeyed Algorithmscryptopp: Integer + Elliptic Curve Public Key Algorithmslczero: Eigenlczero: Randlammps: Rhodopsin Proteingraphics-magick: Rotatehimeno: Poisson Pressure Solverpovray: Trace Timeyafaray: Total Time For Sample Scenepgbench: Buffer Test - Normal Load - Read Onlypgbench: Buffer Test - Normal Load - Read Writenginx: Static Web Page Servingfftw: Float + SSE - 2D FFT Size 4096compress-zstd: 3compress-zstd: 19dav1d: Summer Nature 1080pdav1d: Summer Nature 4Kdav1d: Chimera 1080pdav1d: Chimera 1080p 10-bitstockfish: Total Timemysqlslap: 1mysqlslap: 32tjbench: Decompression Throughputaom-av1: Speed 8 Realtimeaom-av1: Speed 6 Realtimeaom-av1: Speed 6 Two-Passtungsten: Hairtungsten: Water Caustictungsten: Non-Exponentialtungsten: Volumetric Causticgromacs: Water Benchmarkbasis: ETC1Sbasis: UASTC Level 3leveldb: Seq Fillleveldb: Seq Fillleveldb: Rand Readleveldb: Hot Readleveldb: Seek Randrocksdb: Rand Fillrocksdb: Rand ReadBaselinePGO709.732181357.5536305646.59087492314046811.6477944006.14361727.540111.722483158.1048989701.42721451257.90189684661.760.3559.10227.36611.8098.26510867971054483216.00428334.3819.083.6914.486821.10616.150577.332371.57245.09737.30811.8337.73127.42027.70733.5271361002102124258711.799869359.4170005691.23954793214235811.8598224021.25060027.602103.524484081.1217019684.56906351875.82192854671.860.3554.23228.27601.3697.43515886931056494217.44123634.2319.183.7014.452621.04406.052937.317941.57244.87537.21611.8337.83927.24127.60932.9871405311101999919OpenBenchmarking.org

Crypto++

Crypto++ is a C++ class library of cryptographic algorithms. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMiB/second, More Is BetterCrypto++ 8.2Test: Keyed AlgorithmsBaselinePGO150300450600750SE +/- 0.02, N = 3SE +/- 0.18, N = 3709.73711.801. (CXX) g++ options: -g2 -O3 -fPIC -pthread -pipe

OpenBenchmarking.orgMiB/second, More Is BetterCrypto++ 8.2Test: Unkeyed AlgorithmsBaselinePGO80160240320400SE +/- 0.32, N = 3SE +/- 0.17, N = 3357.55359.421. (CXX) g++ options: -g2 -O3 -fPIC -pthread -pipe

OpenBenchmarking.orgMiB/second, More Is BetterCrypto++ 8.2Test: Integer + Elliptic Curve Public Key AlgorithmsBaselinePGO12002400360048006000SE +/- 22.82, N = 3SE +/- 5.24, N = 35646.595691.241. (CXX) g++ options: -g2 -O3 -fPIC -pthread -pipe

LeelaChessZero

LeelaChessZero (lc0 / lczero) is a chess engine automated vian neural networks. This test profile can be used for OpenCL, CUDA + cuDNN, and BLAS (CPU-based) benchmarking. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgNodes Per Second, More Is BetterLeelaChessZero 0.25Backend: EigenBaselinePGO2004006008001000SE +/- 8.39, N = 3SE +/- 10.26, N = 39239321. (CXX) g++ options: -pthread

OpenBenchmarking.orgNodes Per Second, More Is BetterLeelaChessZero 0.25Backend: RandomBaselinePGO30K60K90K120K150KSE +/- 137.29, N = 3SE +/- 310.95, N = 31404681423581. (CXX) g++ options: -pthread

LAMMPS Molecular Dynamics Simulator

LAMMPS is a classical molecular dynamics code, and an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgns/day, More Is BetterLAMMPS Molecular Dynamics Simulator 9Jan2020Model: Rhodopsin ProteinBaselinePGO3691215SE +/- 0.14, N = 3SE +/- 0.07, N = 311.6511.861. (CXX) g++ options: -O3 -rdynamic -ljpeg -lpng -lz -lfftw3 -lm

GraphicsMagick

This is a test of GraphicsMagick with its OpenMP implementation that performs various imaging tests on a sample 6000x4000 pixel JPEG image. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.33Operation: RotateBaselinePGO2004006008001000SE +/- 12.50, N = 3SE +/- 9.26, N = 37948221. (CC) gcc options: -fopenmp -O2 -pthread -ljbig -ltiff -lfreetype -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lxml2 -lz -lm -lpthread

Himeno Benchmark

The Himeno benchmark is a linear solver of pressure Poisson using a point-Jacobi method. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMFLOPS, More Is BetterHimeno Benchmark 3.0Poisson Pressure SolverBaselinePGO9001800270036004500SE +/- 10.20, N = 3SE +/- 5.54, N = 34006.144021.251. (CC) gcc options: -O3 -mavx2

POV-Ray

This is a test of POV-Ray, the Persistence of Vision Raytracer. POV-Ray is used to create 3D graphics using ray-tracing. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterPOV-Ray 3.7.0.7Trace TimeBaselinePGO612182430SE +/- 0.05, N = 3SE +/- 0.11, N = 327.5427.601. (CXX) g++ options: -pipe -O3 -ffast-math -march=native -pthread -lSM -lICE -lX11 -lIlmImf -lImath -lHalf -lIex -lIexMath -lIlmThread -lpthread -ltiff -ljpeg -lpng -lz -lrt -lm -lboost_thread -lboost_system

YafaRay

YafaRay is an open-source physically based montecarlo ray-tracing engine. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterYafaRay 3.4.1Total Time For Sample SceneBaselinePGO306090120150SE +/- 1.41, N = 5SE +/- 1.40, N = 4111.72103.521. (CXX) g++ options: -std=c++11 -O3 -ffast-math -rdynamic -ldl -lImath -lIlmImf -lIex -lHalf -lz -lIlmThread -lxml2 -lfreetype -lpthread

PostgreSQL pgbench

This is a simple benchmark of PostgreSQL using pgbench. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 12.0Scaling: Buffer Test - Test: Normal Load - Mode: Read OnlyBaselinePGO100K200K300K400K500KSE +/- 610.63, N = 3SE +/- 510.02, N = 3483158.10484081.121. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 12.0Scaling: Buffer Test - Test: Normal Load - Mode: Read WriteBaselinePGO2K4K6K8K10KSE +/- 53.12, N = 3SE +/- 101.31, N = 39701.439684.571. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

NGINX Benchmark

This is a test of ab, which is the Apache Benchmark program running against nginx. This test profile measures how many requests per second a given system can sustain when carrying out 2,000,000 requests with 500 requests being carried out concurrently. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgRequests Per Second, More Is BetterNGINX Benchmark 1.9.9Static Web Page ServingBaselinePGO11K22K33K44K55KSE +/- 110.28, N = 3SE +/- 210.12, N = 351257.9051875.821. (CC) gcc options: -lpthread -lcrypt -lcrypto -lz -O3 -march=native

FFTW

FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMflops, More Is BetterFFTW 3.3.6Build: Float + SSE - Size: 2D FFT Size 4096BaselinePGO4K8K12K16K20KSE +/- 251.56, N = 3SE +/- 87.35, N = 318968192851. (CC) gcc options: -pthread -O3 -fomit-frame-pointer -mtune=native -malign-double -fstrict-aliasing -fno-schedule-insns -ffast-math -lm

Zstd Compression

This test measures the time needed to compress a sample file (an Ubuntu ISO) using Zstd compression. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMB/s, More Is BetterZstd Compression 1.4.5Compression Level: 3BaselinePGO10002000300040005000SE +/- 24.65, N = 3SE +/- 34.24, N = 34661.74671.81. (CC) gcc options: -O3 -pthread -lz -llzma

OpenBenchmarking.orgMB/s, More Is BetterZstd Compression 1.4.5Compression Level: 19BaselinePGO1326395265SE +/- 0.07, N = 3SE +/- 0.21, N = 360.360.31. (CC) gcc options: -O3 -pthread -lz -llzma

dav1d

Dav1d is an open-source, speedy AV1 video decoder. This test profile times how long it takes to decode sample AV1 video content. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgFPS, More Is Betterdav1d 0.7.0Video Input: Summer Nature 1080pBaselinePGO120240360480600SE +/- 0.59, N = 3SE +/- 3.23, N = 3559.10554.23MIN: 375.87 / MAX: 606.19MIN: 356.54 / MAX: 606.991. (CC) gcc options: -pthread

OpenBenchmarking.orgFPS, More Is Betterdav1d 0.7.0Video Input: Summer Nature 4KBaselinePGO50100150200250SE +/- 0.28, N = 3SE +/- 0.49, N = 3227.36228.27MIN: 170.37 / MAX: 247.69MIN: 177.26 / MAX: 251.181. (CC) gcc options: -pthread

OpenBenchmarking.orgFPS, More Is Betterdav1d 0.7.0Video Input: Chimera 1080pBaselinePGO130260390520650SE +/- 0.27, N = 3SE +/- 6.52, N = 3611.80601.36MIN: 471.5 / MAX: 752.98MIN: 404.59 / MAX: 750.791. (CC) gcc options: -pthread

OpenBenchmarking.orgFPS, More Is Betterdav1d 0.7.0Video Input: Chimera 1080p 10-bitBaselinePGO20406080100SE +/- 0.27, N = 3SE +/- 0.48, N = 398.2697.43MIN: 67.46 / MAX: 205.81MIN: 67.27 / MAX: 198.491. (CC) gcc options: -pthread

Stockfish

This is a test of Stockfish, an advanced C++11 chess benchmark that can scale up to 128 CPU cores. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgNodes Per Second, More Is BetterStockfish 9Total TimeBaselinePGO11M22M33M44M55MSE +/- 274511.80, N = 3SE +/- 511603.78, N = 351086797515886931. (CXX) g++ options: -m64 -lpthread -fno-exceptions -std=c++11 -pedantic -O3 -msse -msse3 -mpopcnt -flto

MariaDB

This is a MariaDB MySQL database server benchmark making use of mysqlslap. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgQueries Per Second, More Is BetterMariaDB 10.5.2Clients: 1BaselinePGO2004006008001000SE +/- 9.41, N = 3SE +/- 6.85, N = 3105410561. (CXX) g++ options: -pie -fPIC -fstack-protector -O2 -lpthread -llzma -lbz2 -lsnappy -laio -lnuma -lcrypt -lz -lm -lssl -lcrypto -ldl

OpenBenchmarking.orgQueries Per Second, More Is BetterMariaDB 10.5.2Clients: 32BaselinePGO110220330440550SE +/- 0.27, N = 3SE +/- 0.89, N = 34834941. (CXX) g++ options: -pie -fPIC -fstack-protector -O2 -lpthread -llzma -lbz2 -lsnappy -laio -lnuma -lcrypt -lz -lm -lssl -lcrypto -ldl

libjpeg-turbo tjbench

tjbench is a JPEG decompression/compression benchmark part of libjpeg-turbo. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMegapixels/sec, More Is Betterlibjpeg-turbo tjbench 2.0.2Test: Decompression ThroughputBaselinePGO50100150200250SE +/- 0.50, N = 3SE +/- 0.21, N = 3216.00217.441. (CC) gcc options: -O3 -rdynamic

AOM AV1

This is a simple test of the AOMedia AV1 encoder run on the CPU with a sample video file. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgFrames Per Second, More Is BetterAOM AV1 2.0Encoder Mode: Speed 8 RealtimeBaselinePGO816243240SE +/- 0.08, N = 3SE +/- 0.05, N = 334.3834.231. (CXX) g++ options: -O3 -std=c++11 -U_FORTIFY_SOURCE -lm -lpthread

OpenBenchmarking.orgFrames Per Second, More Is BetterAOM AV1 2.0Encoder Mode: Speed 6 RealtimeBaselinePGO510152025SE +/- 0.01, N = 3SE +/- 0.02, N = 319.0819.181. (CXX) g++ options: -O3 -std=c++11 -U_FORTIFY_SOURCE -lm -lpthread

OpenBenchmarking.orgFrames Per Second, More Is BetterAOM AV1 2.0Encoder Mode: Speed 6 Two-PassBaselinePGO0.83251.6652.49753.334.1625SE +/- 0.00, N = 3SE +/- 0.01, N = 33.693.701. (CXX) g++ options: -O3 -std=c++11 -U_FORTIFY_SOURCE -lm -lpthread

Tungsten Renderer

Tungsten is a C++ physically based renderer that makes use of Intel's Embree ray tracing library. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterTungsten Renderer 0.2.2Scene: HairBaselinePGO48121620SE +/- 0.00, N = 3SE +/- 0.02, N = 314.4914.451. (CXX) g++ options: -std=c++0x -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mfma -mbmi2 -mavx512f -mavx512vl -mavx512cd -mavx512dq -mavx512bw -mno-sse4a -mno-avx -mno-avx2 -mno-xop -mno-fma4 -mno-avx512pf -mno-avx512er -mno-avx512ifma -mno-avx512vbmi -fstrict-aliasing -O3 -rdynamic -lIlmImf -lIlmThread -lImath -lHalf -lIex -lz -ljpeg -lpthread -ldl

OpenBenchmarking.orgSeconds, Fewer Is BetterTungsten Renderer 0.2.2Scene: Water CausticBaselinePGO510152025SE +/- 0.06, N = 3SE +/- 0.07, N = 321.1121.041. (CXX) g++ options: -std=c++0x -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mfma -mbmi2 -mavx512f -mavx512vl -mavx512cd -mavx512dq -mavx512bw -mno-sse4a -mno-avx -mno-avx2 -mno-xop -mno-fma4 -mno-avx512pf -mno-avx512er -mno-avx512ifma -mno-avx512vbmi -fstrict-aliasing -O3 -rdynamic -lIlmImf -lIlmThread -lImath -lHalf -lIex -lz -ljpeg -lpthread -ldl

OpenBenchmarking.orgSeconds, Fewer Is BetterTungsten Renderer 0.2.2Scene: Non-ExponentialBaselinePGO246810SE +/- 0.07592, N = 3SE +/- 0.05126, N = 36.150576.052931. (CXX) g++ options: -std=c++0x -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mfma -mbmi2 -mavx512f -mavx512vl -mavx512cd -mavx512dq -mavx512bw -mno-sse4a -mno-avx -mno-avx2 -mno-xop -mno-fma4 -mno-avx512pf -mno-avx512er -mno-avx512ifma -mno-avx512vbmi -fstrict-aliasing -O3 -rdynamic -lIlmImf -lIlmThread -lImath -lHalf -lIex -lz -ljpeg -lpthread -ldl

OpenBenchmarking.orgSeconds, Fewer Is BetterTungsten Renderer 0.2.2Scene: Volumetric CausticBaselinePGO246810SE +/- 0.06704, N = 3SE +/- 0.02011, N = 37.332377.317941. (CXX) g++ options: -std=c++0x -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mfma -mbmi2 -mavx512f -mavx512vl -mavx512cd -mavx512dq -mavx512bw -mno-sse4a -mno-avx -mno-avx2 -mno-xop -mno-fma4 -mno-avx512pf -mno-avx512er -mno-avx512ifma -mno-avx512vbmi -fstrict-aliasing -O3 -rdynamic -lIlmImf -lIlmThread -lImath -lHalf -lIex -lz -ljpeg -lpthread -ldl

GROMACS

The GROMACS (GROningen MAchine for Chemical Simulations) molecular dynamics package testing on the CPU with the water_GMX50 data. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgNs Per Day, More Is BetterGROMACS 2020.1Water BenchmarkBaselinePGO0.35370.70741.06111.41481.7685SE +/- 0.001, N = 3SE +/- 0.001, N = 31.5721.5721. (CXX) g++ options: -O3 -pthread -lrt -lpthread -lm

Basis Universal

Basis Universal is a GPU texture codoec. This test times how long it takes to convert sRGB PNGs into Basis Univeral assets with various settings. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterBasis Universal 1.12Settings: ETC1SBaselinePGO1020304050SE +/- 0.02, N = 3SE +/- 0.07, N = 345.1044.881. (CXX) g++ options: -std=c++11 -fvisibility=hidden -fPIC -fno-strict-aliasing -O3 -rdynamic -lm -lpthread

OpenBenchmarking.orgSeconds, Fewer Is BetterBasis Universal 1.12Settings: UASTC Level 3BaselinePGO918273645SE +/- 0.01, N = 3SE +/- 0.01, N = 337.3137.221. (CXX) g++ options: -std=c++11 -fvisibility=hidden -fPIC -fno-strict-aliasing -O3 -rdynamic -lm -lpthread

LevelDB

LevelDB is a key-value storage library developed by Google that supports making use of Snappy for data compression and has other modern features. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMB/s, More Is BetterLevelDB 1.22Benchmark: Sequential FillBaselinePGO3691215SE +/- 0.00, N = 3SE +/- 0.00, N = 311.811.81. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Sequential FillBaselinePGO70140210280350SE +/- 0.47, N = 3SE +/- 0.15, N = 3337.73337.841. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Random ReadBaselinePGO612182430SE +/- 0.31, N = 6SE +/- 0.36, N = 427.4227.241. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Hot ReadBaselinePGO714212835SE +/- 0.16, N = 3SE +/- 0.08, N = 327.7127.611. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Seek RandomBaselinePGO816243240SE +/- 0.18, N = 3SE +/- 0.14, N = 333.5332.991. (CXX) g++ options: -O3 -lsnappy -lpthread

Facebook RocksDB

This is a benchmark of Facebook's RocksDB as an embeddable persistent key-value store for fast storage based on Google's LevelDB. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgOp/s, More Is BetterFacebook RocksDB 6.3.6Test: Random FillBaselinePGO300K600K900K1200K1500KSE +/- 16050.51, N = 5SE +/- 10617.89, N = 3136100214053111. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread

OpenBenchmarking.orgOp/s, More Is BetterFacebook RocksDB 6.3.6Test: Random ReadBaselinePGO20M40M60M80M100MSE +/- 62784.49, N = 3SE +/- 129511.98, N = 31021242581019999191. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread