Ubuntu 16.04 LTS Compiler Benchmarks

GCC 5.3.1, GCC 6.0, LLVM Clang 3.7, and LLVM Clang 3.8 compiler benchmarks using the Xenial Xerus packages for Ubuntu 16.04 LTS. Benchmarks by Michael Larabel for a future article on Phoronix.com

HTML result view exported from: https://openbenchmarking.org/result/1602255-GA-UBUNTU16057&rdt&grs.

Ubuntu 16.04 LTS Compiler BenchmarksProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 20160125Intel Xeon E3-1280 v5 @ 4.00GHz (8 Cores)MSI C236A WORKSTATION (MS-7998) v1.0Intel Sky Lake16384MB120GB Samsung SSD 850MSI AMD Radeon R7 370 / R9 270/370 OEM 4096MBRealtek ALC1150DELL P2415QIntel ConnectionUbuntu 16.044.4.0-7-generic (x86_64)Unity 7.4.0X Server 1.17.3radeon 7.6.14.1 Mesa 11.1.2 Gallium 0.4Clang 3.8.0-+rc2-1~exp1ubuntu2ext43840x2160Clang 3.7.1-1ubuntu4GCC 5.3.1 20160222 + clang (Ubuntu 5.3.1-9ubuntu3) 5.3.1 20160222GCC 6.0.0 20160125OpenBenchmarking.orgProcessor Details- Scaling Governor: intel_pstate powersaveCompiler Details- GCC 5.3.1: --build=x86_64-linux-gnu --disable-browser-plugin --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-gtk-cairo --enable-java-awt=gtk --enable-java-home --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-arch-directory=amd64 --with-default-libstdcxx-abi=new --with-multilib-list=m32,m64,mx32 --with-tune=generic -v - GCC 6.0.0 20160125: --build=x86_64-linux-gnu --disable-browser-plugin --disable-nls --disable-vtable-verify --disable-werror --enable-checking=yes --enable-clocale=gnu --enable-gnu-unique-object --enable-gtk-cairo --enable-java-awt=gtk --enable-java-home --enable-languages=c,ada,c++,java,go,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-objc-gc --enable-plugin --enable-shared --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-arch-directory=amd64 --with-default-libstdcxx-abi=new --with-multilib-list=m32,m64,mx32 --with-tune=generic -v

Ubuntu 16.04 LTS Compiler Benchmarksscimark2: Monte Carloscimark2: Dense LU Matrix Factorizationbuild-php: Time To Compilebuild-apache: Time To Compilec-ray: Total Timescimark2: Compositehimeno: Poisson Pressure Solverscimark2: Jacobi Successive Over-Relaxationbullet: 1000 Stackbullet: 3000 Fallsmallpt: Global Illumination Renderer; 100 Samplesencode-mp3: WAV To MP3bullet: Raytestsbullet: Prim Trimeshbullet: 1000 Convexencode-flac: WAV To FLACbullet: Convex Trimeshpgbench: Buffer Test - Single Thread - Read Writehmmer: Pfam Database Searchstockfish: Total Timescimark2: Sparse Matrix Multiplyredis: SETcompress-7zip: Compress Speed Testpgbench: Buffer Test - Normal Load - Read Writeopenssl: RSA 4096-bit Performanceapache: Static Web Page Servingscimark2: Fast Fourier Transformpgbench: Buffer Test - Heavy Contention - Read Writeredis: GETbullet: 136 RagdollsLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 20160125284.077604.3018.6922.2425.942433.581890.251429.855.414.612412.092.771.014.695.321.18592.328.7132922538.512088730.67240576598.18677.2348579.46311.187902.492823390.213.27627.967731.9216.7919.8725.722531.782236.781446.615.134.512311.472.701.004.585.311.17600.248.7333242538.562146299.50236666637.61678.5348798.85313.857911.953096524.923.05735.643058.3721.9623.6414.671581.412628.811129.464.614.122110.862.540.944.274.951.13573.408.2932102667.002076119.06230566431.46694.0049743.62316.567922.133112531.882.78737.183077.5141.0543.5814.831573.842604.811127.684.504.012110.612.490.914.324.861.09559.298.2231482610.332178042.15237156421.59693.4049584.51316.537950.753021227.582.74OpenBenchmarking.org

SciMark

Computational Test: Monte Carlo

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Monte CarloLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 20160125160320480640800SE +/- 1.94, N = 4SE +/- 1.44, N = 4SE +/- 2.36, N = 4SE +/- 1.66, N = 4284.07627.96735.64737.181. (CXX) g++ options: -O3 -march=native

SciMark

Computational Test: Dense LU Matrix Factorization

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Dense LU Matrix FactorizationLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 2016012517003400510068008500SE +/- 37.88, N = 4SE +/- 21.73, N = 4SE +/- 4.62, N = 4SE +/- 6.30, N = 47604.307731.923058.373077.511. (CXX) g++ options: -O3 -march=native

Timed PHP Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed PHP Compilation 5.2.9Time To CompileLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 20160125918273645SE +/- 0.05, N = 3SE +/- 0.05, N = 3SE +/- 0.05, N = 3SE +/- 0.04, N = 318.6916.7921.9641.05-lpthread1. (CC) gcc options: -O3 -march=native -pedantic -ldl -lm

Timed Apache Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed Apache Compilation 2.4.7Time To CompileLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 201601251020304050SE +/- 0.09, N = 3SE +/- 0.03, N = 3SE +/- 0.05, N = 3SE +/- 0.07, N = 322.2419.8723.6443.58

C-Ray

Total Time

OpenBenchmarking.orgSeconds, Fewer Is BetterC-Ray 1.1Total TimeLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 20160125612182430SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.03, N = 3SE +/- 0.02, N = 325.9425.7214.6714.831. (CC) gcc options: -lm -lpthread -O3 -march=native

SciMark

Computational Test: Composite

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: CompositeLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 201601255001000150020002500SE +/- 6.89, N = 4SE +/- 1.81, N = 4SE +/- 1.60, N = 4SE +/- 1.20, N = 42433.582531.781581.411573.841. (CXX) g++ options: -O3 -march=native

Himeno Benchmark

Poisson Pressure Solver

OpenBenchmarking.orgMFLOPS, More Is BetterHimeno Benchmark 3.0Poisson Pressure SolverLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 201601256001200180024003000SE +/- 0.86, N = 3SE +/- 7.01, N = 3SE +/- 15.39, N = 3SE +/- 10.87, N = 31890.252236.782628.812604.811. (CC) gcc options: -O3 -march=native -mavx2

SciMark

Computational Test: Jacobi Successive Over-Relaxation

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Jacobi Successive Over-RelaxationLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 2016012530060090012001500SE +/- 5.76, N = 4SE +/- 9.02, N = 4SE +/- 3.14, N = 4SE +/- 1.05, N = 41429.851446.611129.461127.681. (CXX) g++ options: -O3 -march=native

Bullet Physics Engine

Test: 1000 Stack

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 1000 StackLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 201601251.21732.43463.65194.86926.0865SE +/- 0.16, N = 3SE +/- 0.02, N = 3SE +/- 0.02, N = 3SE +/- 0.02, N = 35.415.134.614.501. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: 3000 Fall

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 3000 FallLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 201601251.03732.07463.11194.14925.1865SE +/- 0.02, N = 3SE +/- 0.03, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 34.614.514.124.011. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Smallpt

Global Illumination Renderer; 100 Samples

OpenBenchmarking.orgSeconds, Fewer Is BetterSmallpt 1.0Global Illumination Renderer; 100 SamplesLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 20160125612182430SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3242321211. (CXX) g++ options: -fopenmp -O3 -march=native

LAME MP3 Encoding

WAV To MP3

OpenBenchmarking.orgSeconds, Fewer Is BetterLAME MP3 Encoding 3.99.3WAV To MP3LLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 201601253691215SE +/- 0.04, N = 5SE +/- 0.01, N = 5SE +/- 0.01, N = 5SE +/- 0.01, N = 512.0911.4710.8610.611. (CC) gcc options: -pipe -O3 -march=native -lm

Bullet Physics Engine

Test: Raytests

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: RaytestsLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 201601250.62331.24661.86992.49323.1165SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 32.772.702.542.491. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: Prim Trimesh

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: Prim TrimeshLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 201601250.22730.45460.68190.90921.1365SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 31.011.000.940.911. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: 1000 Convex

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 1000 ConvexLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 201601251.05532.11063.16594.22125.2765SE +/- 0.01, N = 3SE +/- 0.04, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 34.694.584.274.321. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

FLAC Audio Encoding

WAV To FLAC

OpenBenchmarking.orgSeconds, Fewer Is BetterFLAC Audio Encoding 1.3.1WAV To FLACLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 201601251.1972.3943.5914.7885.985SE +/- 0.00, N = 5SE +/- 0.02, N = 5SE +/- 0.00, N = 5SE +/- 0.00, N = 55.315.314.954.86-fvisibility=hidden-fvisibility=hidden1. (CXX) g++ options: -O3 -march=native -lm

Bullet Physics Engine

Test: Convex Trimesh

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: Convex TrimeshLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 201601250.26550.5310.79651.0621.3275SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 31.181.171.131.091. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

PostgreSQL pgbench

Scaling: Buffer Test - Test: Single Thread - Mode: Read Write

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 9.4.3Scaling: Buffer Test - Test: Single Thread - Mode: Read WriteLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 20160125130260390520650SE +/- 2.91, N = 3SE +/- 10.18, N = 4SE +/- 6.79, N = 3SE +/- 4.20, N = 3592.32600.24573.40559.29-pthreads -mthreads-pthreads -mthreads1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O3 -march=native -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

Timed HMMer Search

Pfam Database Search

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed HMMer Search 2.3.2Pfam Database SearchLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 20160125246810SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 38.718.738.298.221. (CC) gcc options: -O3 -march=native -pthread -lhmmer -lsquid -lm

Stockfish

Total Time

OpenBenchmarking.orgms, Fewer Is BetterStockfish 2014-11-26Total TimeLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 201601257001400210028003500SE +/- 5.36, N = 3SE +/- 5.13, N = 3SE +/- 4.36, N = 3SE +/- 9.94, N = 33292332432103148-flto-flto1. (CXX) g++ options: -lpthread -O3 -march=native -fno-exceptions -fno-rtti -ansi -pedantic -msse -msse3 -mpopcnt

SciMark

Computational Test: Sparse Matrix Multiply

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Sparse Matrix MultiplyLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 201601256001200180024003000SE +/- 12.26, N = 4SE +/- 5.98, N = 4SE +/- 3.08, N = 4SE +/- 2.94, N = 42538.512538.562667.002610.331. (CXX) g++ options: -O3 -march=native

Redis

Test: SET

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: SETLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 20160125500K1000K1500K2000K2500KSE +/- 32867.27, N = 3SE +/- 20142.16, N = 3SE +/- 31524.64, N = 4SE +/- 45034.71, N = 62088730.672146299.502076119.062178042.15-std=gnu99 -pipe -g3 -O3 -funroll-loops -march=native1. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl

7-Zip Compression

Compress Speed Test

OpenBenchmarking.orgMIPS, More Is Better7-Zip Compression 9.20.1Compress Speed TestLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 201601255K10K15K20K25KSE +/- 110.79, N = 3SE +/- 178.26, N = 3SE +/- 229.23, N = 3SE +/- 56.53, N = 3240572366623056237151. (CXX) g++ options: -pipe -lpthread

PostgreSQL pgbench

Scaling: Buffer Test - Test: Normal Load - Mode: Read Write

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 9.4.3Scaling: Buffer Test - Test: Normal Load - Mode: Read WriteLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 2016012514002800420056007000SE +/- 66.57, N = 3SE +/- 117.87, N = 3SE +/- 75.13, N = 3SE +/- 93.15, N = 36598.186637.616431.466421.59-pthreads -mthreads-pthreads -mthreads1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O3 -march=native -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

OpenSSL

RSA 4096-bit Performance

OpenBenchmarking.orgSigns Per Second, More Is BetterOpenSSL 1.0.1gRSA 4096-bit PerformanceLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 20160125150300450600750SE +/- 0.69, N = 3SE +/- 0.72, N = 3SE +/- 0.10, N = 3SE +/- 0.15, N = 3677.23678.53694.00693.401. (CC) gcc options: -m64 -O3 -lssl -lcrypto -ldl

Apache Benchmark

Static Web Page Serving

OpenBenchmarking.orgRequests Per Second, More Is BetterApache Benchmark 2.4.7Static Web Page ServingLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 2016012511K22K33K44K55KSE +/- 283.69, N = 3SE +/- 247.92, N = 3SE +/- 33.52, N = 3SE +/- 78.30, N = 348579.4648798.8549743.6249584.511. (CC) gcc options: -shared -fPIC -pthread -O3 -march=native

SciMark

Computational Test: Fast Fourier Transform

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Fast Fourier TransformLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 2016012570140210280350SE +/- 1.25, N = 4SE +/- 1.32, N = 4SE +/- 0.64, N = 4SE +/- 0.71, N = 4311.18313.85316.56316.531. (CXX) g++ options: -O3 -march=native

PostgreSQL pgbench

Scaling: Buffer Test - Test: Heavy Contention - Mode: Read Write

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 9.4.3Scaling: Buffer Test - Test: Heavy Contention - Mode: Read WriteLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 201601252K4K6K8K10KSE +/- 35.36, N = 3SE +/- 39.32, N = 3SE +/- 61.24, N = 3SE +/- 38.92, N = 37902.497911.957922.137950.75-pthreads -mthreads-pthreads -mthreads1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O3 -march=native -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

Redis

Test: GET

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: GETLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 20160125700K1400K2100K2800K3500KSE +/- 97365.18, N = 6SE +/- 29057.84, N = 3SE +/- 133050.46, N = 6SE +/- 108149.76, N = 62823390.213096524.923112531.883021227.58-std=gnu99 -pipe -g3 -O3 -funroll-loops -march=native1. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl

Bullet Physics Engine

Test: 136 Ragdolls

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 136 RagdollsLLVM Clang 3.8LLVM Clang 3.7.1GCC 5.3.1GCC 6.0.0 201601250.73581.47162.20742.94323.679SE +/- 0.21, N = 3SE +/- 0.04, N = 3SE +/- 0.03, N = 3SE +/- 0.02, N = 33.273.052.782.741. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU


Phoronix Test Suite v10.8.4