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&sor.

Ubuntu 16.04 LTS Compiler BenchmarksProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionLLVM Clang 3.7.1LLVM Clang 3.8GCC 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.7.1-1ubuntu4ext43840x2160Clang 3.8.0-+rc2-1~exp1ubuntu2GCC 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 Benchmarkshmmer: Pfam Database Searchscimark2: Compositescimark2: Monte Carloscimark2: Fast Fourier Transformscimark2: Sparse Matrix Multiplyscimark2: Dense LU Matrix Factorizationscimark2: Jacobi Successive Over-Relaxationhimeno: Poisson Pressure Solvercompress-7zip: Compress Speed Testbuild-apache: Time To Compilebuild-php: Time To Compilec-ray: Total Timesmallpt: Global Illumination Renderer; 100 Samplesstockfish: Total Timebullet: Raytestsbullet: 3000 Fallbullet: 1000 Stackbullet: 1000 Convexbullet: 136 Ragdollsbullet: Prim Trimeshbullet: Convex Trimeshencode-flac: WAV To FLACencode-mp3: WAV To MP3openssl: RSA 4096-bit Performancepgbench: Buffer Test - Normal Load - Read Writepgbench: Buffer Test - Single Thread - Read Writepgbench: Buffer Test - Heavy Contention - Read Writeredis: GETredis: SETapache: Static Web Page ServingLLVM Clang 3.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 201601258.732531.78627.96313.852538.567731.921446.612236.782366619.8716.7925.722333242.704.515.134.583.051.001.175.3111.47678.536637.61600.247911.953096524.922146299.5048798.858.712433.58284.07311.182538.517604.301429.851890.252405722.2418.6925.942432922.774.615.414.693.271.011.185.3112.09677.236598.18592.327902.492823390.212088730.6748579.468.291581.41735.64316.562667.003058.371129.462628.812305623.6421.9614.672132102.544.124.614.272.780.941.134.9510.86694.006431.46573.407922.133112531.882076119.0649743.628.221573.84737.18316.532610.333077.511127.682604.812371543.5841.0514.832131482.494.014.504.322.740.911.094.8610.61693.406421.59559.297950.753021227.582178042.1549584.51OpenBenchmarking.org

Timed HMMer Search

Pfam Database Search

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

SciMark

Computational Test: Composite

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

SciMark

Computational Test: Monte Carlo

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

SciMark

Computational Test: Fast Fourier Transform

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

SciMark

Computational Test: Sparse Matrix Multiply

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Sparse Matrix MultiplyGCC 5.3.1GCC 6.0.0 20160125LLVM Clang 3.7.1LLVM Clang 3.86001200180024003000SE +/- 3.08, N = 4SE +/- 2.94, N = 4SE +/- 5.98, N = 4SE +/- 12.26, N = 42667.002610.332538.562538.511. (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.7.1LLVM Clang 3.8GCC 6.0.0 20160125GCC 5.3.117003400510068008500SE +/- 21.73, N = 4SE +/- 37.88, N = 4SE +/- 6.30, N = 4SE +/- 4.62, N = 47731.927604.303077.513058.371. (CXX) g++ options: -O3 -march=native

SciMark

Computational Test: Jacobi Successive Over-Relaxation

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

Himeno Benchmark

Poisson Pressure Solver

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

7-Zip Compression

Compress Speed Test

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

Timed Apache Compilation

Time To Compile

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

Timed PHP Compilation

Time To Compile

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

C-Ray

Total Time

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

Smallpt

Global Illumination Renderer; 100 Samples

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

Stockfish

Total Time

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

Bullet Physics Engine

Test: Raytests

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: RaytestsGCC 6.0.0 20160125GCC 5.3.1LLVM Clang 3.7.1LLVM Clang 3.80.62331.24661.86992.49323.1165SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 32.492.542.702.771. (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 FallGCC 6.0.0 20160125GCC 5.3.1LLVM Clang 3.7.1LLVM Clang 3.81.03732.07463.11194.14925.1865SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.03, N = 3SE +/- 0.02, N = 34.014.124.514.611. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: 1000 Stack

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 1000 StackGCC 6.0.0 20160125GCC 5.3.1LLVM Clang 3.7.1LLVM Clang 3.81.21732.43463.65194.86926.0865SE +/- 0.02, N = 3SE +/- 0.02, N = 3SE +/- 0.02, N = 3SE +/- 0.16, N = 34.504.615.135.411. (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 ConvexGCC 5.3.1GCC 6.0.0 20160125LLVM Clang 3.7.1LLVM Clang 3.81.05532.11063.16594.22125.2765SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.04, N = 3SE +/- 0.01, N = 34.274.324.584.691. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: 136 Ragdolls

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 136 RagdollsGCC 6.0.0 20160125GCC 5.3.1LLVM Clang 3.7.1LLVM Clang 3.80.73581.47162.20742.94323.679SE +/- 0.02, N = 3SE +/- 0.03, N = 3SE +/- 0.04, N = 3SE +/- 0.21, N = 32.742.783.053.271. (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 TrimeshGCC 6.0.0 20160125GCC 5.3.1LLVM Clang 3.7.1LLVM Clang 3.80.22730.45460.68190.90921.1365SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 30.910.941.001.011. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: Convex Trimesh

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: Convex TrimeshGCC 6.0.0 20160125GCC 5.3.1LLVM Clang 3.7.1LLVM Clang 3.80.26550.5310.79651.0621.3275SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 31.091.131.171.181. (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 FLACGCC 6.0.0 20160125GCC 5.3.1LLVM Clang 3.7.1LLVM Clang 3.81.1972.3943.5914.7885.985SE +/- 0.00, N = 5SE +/- 0.00, N = 5SE +/- 0.02, N = 5SE +/- 0.00, N = 54.864.955.315.31-fvisibility=hidden-fvisibility=hidden1. (CXX) g++ options: -O3 -march=native -lm

LAME MP3 Encoding

WAV To MP3

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

OpenSSL

RSA 4096-bit Performance

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

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.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 2016012514002800420056007000SE +/- 117.87, N = 3SE +/- 66.57, N = 3SE +/- 75.13, N = 3SE +/- 93.15, N = 36637.616598.186431.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

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.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 20160125130260390520650SE +/- 10.18, N = 4SE +/- 2.91, N = 3SE +/- 6.79, N = 3SE +/- 4.20, N = 3600.24592.32573.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

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 WriteGCC 6.0.0 20160125GCC 5.3.1LLVM Clang 3.7.1LLVM Clang 3.82K4K6K8K10KSE +/- 38.92, N = 3SE +/- 61.24, N = 3SE +/- 39.32, N = 3SE +/- 35.36, N = 37950.757922.137911.957902.49-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: GETGCC 5.3.1LLVM Clang 3.7.1GCC 6.0.0 20160125LLVM Clang 3.8700K1400K2100K2800K3500KSE +/- 133050.46, N = 6SE +/- 29057.84, N = 3SE +/- 108149.76, N = 6SE +/- 97365.18, N = 63112531.883096524.923021227.582823390.21-std=gnu99 -pipe -g3 -O3 -funroll-loops -march=native1. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl

Redis

Test: SET

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

Apache Benchmark

Static Web Page Serving

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


Phoronix Test Suite v10.8.4