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.

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 SearchLLVM Clang 3.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 20160125246810SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 38.738.718.298.221. (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 CarloLLVM Clang 3.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 20160125160320480640800SE +/- 1.44, N = 4SE +/- 1.94, N = 4SE +/- 2.36, N = 4SE +/- 1.66, N = 4627.96284.07735.64737.181. (CXX) g++ options: -O3 -march=native

SciMark

Computational Test: Fast Fourier Transform

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

SciMark

Computational Test: Sparse Matrix Multiply

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Sparse Matrix MultiplyLLVM Clang 3.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 201601256001200180024003000SE +/- 5.98, N = 4SE +/- 12.26, N = 4SE +/- 3.08, N = 4SE +/- 2.94, N = 42538.562538.512667.002610.331. (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 5.3.1GCC 6.0.0 2016012517003400510068008500SE +/- 21.73, N = 4SE +/- 37.88, N = 4SE +/- 4.62, N = 4SE +/- 6.30, N = 47731.927604.303058.373077.511. (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 SolverLLVM Clang 3.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 201601256001200180024003000SE +/- 7.01, N = 3SE +/- 0.86, N = 3SE +/- 15.39, N = 3SE +/- 10.87, N = 32236.781890.252628.812604.811. (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.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 201601255K10K15K20K25KSE +/- 178.26, N = 3SE +/- 110.79, N = 3SE +/- 229.23, N = 3SE +/- 56.53, N = 3236662405723056237151. (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 TimeLLVM Clang 3.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 20160125612182430SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.03, N = 3SE +/- 0.02, N = 325.7225.9414.6714.831. (CC) gcc options: -lm -lpthread -O3 -march=native

Smallpt

Global Illumination Renderer; 100 Samples

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

Stockfish

Total Time

OpenBenchmarking.orgms, Fewer Is BetterStockfish 2014-11-26Total TimeLLVM Clang 3.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 201601257001400210028003500SE +/- 5.13, N = 3SE +/- 5.36, N = 3SE +/- 4.36, N = 3SE +/- 9.94, N = 33324329232103148-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: RaytestsLLVM Clang 3.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 201601250.62331.24661.86992.49323.1165SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 32.702.772.542.491. (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.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 201601251.03732.07463.11194.14925.1865SE +/- 0.03, N = 3SE +/- 0.02, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 34.514.614.124.011. (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 StackLLVM Clang 3.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 201601251.21732.43463.65194.86926.0865SE +/- 0.02, N = 3SE +/- 0.16, N = 3SE +/- 0.02, N = 3SE +/- 0.02, N = 35.135.414.614.501. (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.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 201601251.05532.11063.16594.22125.2765SE +/- 0.04, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 34.584.694.274.321. (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 RagdollsLLVM Clang 3.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 201601250.73581.47162.20742.94323.679SE +/- 0.04, N = 3SE +/- 0.21, N = 3SE +/- 0.03, N = 3SE +/- 0.02, N = 33.053.272.782.741. (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.7.1LLVM Clang 3.8GCC 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.001.010.940.911. (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 TrimeshLLVM Clang 3.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 201601250.26550.5310.79651.0621.3275SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 31.171.181.131.091. (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.02, N = 5SE +/- 0.02, N = 5SE +/- 0.00, N = 5SE +/- 0.00, N = 55.325.314.954.86-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 MP3LLVM Clang 3.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 201601253691215SE +/- 0.01, N = 5SE +/- 0.04, N = 5SE +/- 0.01, N = 5SE +/- 0.01, N = 511.4712.0910.8610.611. (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 PerformanceLLVM Clang 3.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 20160125150300450600750SE +/- 0.72, N = 3SE +/- 0.69, N = 3SE +/- 0.10, N = 3SE +/- 0.15, N = 3678.53677.23694.00693.401. (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 WriteLLVM Clang 3.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 201601252K4K6K8K10KSE +/- 39.32, N = 3SE +/- 35.36, N = 3SE +/- 61.24, N = 3SE +/- 38.92, N = 37911.957902.497922.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.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 20160125700K1400K2100K2800K3500KSE +/- 29057.84, N = 3SE +/- 97365.18, N = 6SE +/- 133050.46, N = 6SE +/- 108149.76, N = 63096524.922823390.213112531.883021227.58-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: SETLLVM Clang 3.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 20160125500K1000K1500K2000K2500KSE +/- 20142.16, N = 3SE +/- 32867.27, N = 3SE +/- 31524.64, N = 4SE +/- 45034.71, N = 62146299.502088730.672076119.062178042.15-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 ServingLLVM Clang 3.7.1LLVM Clang 3.8GCC 5.3.1GCC 6.0.0 2016012511K22K33K44K55KSE +/- 247.92, N = 3SE +/- 283.69, N = 3SE +/- 33.52, N = 3SE +/- 78.30, N = 348798.8548579.4649743.6249584.511. (CC) gcc options: -shared -fPIC -pthread -O3 -march=native


Phoronix Test Suite v10.8.4