GCC 4.9 vs. LLVM Clang 3.5 Linux Compiler Benchmarks

Some early compiler benchmarks of LLVM Clang 3.5 SVN against GCC 4.9.0 RC1 on Ubuntu 14.04 LTS with the Linux 3.13 kernel and using an Intel Core i7 4770K Haswell system. Benchmarks by Michael Larabel for a future article on Phoronix.com.

Compare your own system(s) to this result file with the Phoronix Test Suite by running the command: phoronix-test-suite benchmark 1404144-KH-CLANG359076
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
View Logs
Performance Per
Dollar
Date
Run
  Test
  Duration
GCC 4.8.2
April 12 2014
 
GCC 4.9.0 RC1
April 12 2014
 
LLVM Clang 3.5 20140413
April 13 2014
 
Invert Behavior (Only Show Selected Data)
 

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):


GCC 4.9 vs. LLVM Clang 3.5 Linux Compiler BenchmarksOpenBenchmarking.orgPhoronix Test SuiteIntel Core i7-4770K @ 3.50GHz (8 Cores)ECS Z87H3-A2X EXTREME v1.0Intel 4th Gen Core DRAM16384MB120GB Samsung SSD 840ECS NVIDIA GeForce GTX 460 768MB (675/1804MHz)Realtek ALC1150Samsung SyncMasterRealtek RTL8111/8168/8411Ubuntu 14.043.13.0-22-generic (x86_64)Unity 7.2.0X Server 1.15.0NVIDIA 337.124.3.0GCC 4.8.2GCC 4.9.0 20140411Clang 3.5.0-1~exp1ext42560x1600ProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilersFile-SystemScreen ResolutionGCC 4.9 Vs. LLVM Clang 3.5 Linux Compiler Benchmarks PerformanceSystem Logs- GCC 4.8.2, GCC 4.9.0 RC1: --enable-checking=release- Scaling Governor: acpi-cpufreq ondemand

GCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 20140413Result OverviewPhoronix Test Suite100%126%152%179%Timed ImageMagick CompilationGraphicsMagickTimed PHP CompilationHierarchical INTegrationTimed Apache CompilationC-RayFLAC Audio EncodingLAME MP3 EncodingHimeno BenchmarkApache BenchmarkFFmpegebizzy

GCC 4.9 vs. LLVM Clang 3.5 Linux Compiler Benchmarkssmallpt: Global Illumination Renderer; 100 Samplesgraphics-magick: Sharpengraphics-magick: Resizingbuild-imagemagick: Time To Compilegraphics-magick: Blurbuild-php: Time To Compilehint: FLOATbuild-apache: Time To Compilec-ray: Total Timegraphics-magick: HWB Color Spaceencode-mp3: WAV To MP3graphics-magick: Local Adaptive Thresholdinghimeno: Poisson Pressure Solverapache: Static Web Page Servingffmpeg: H.264 HD To NTSC DVebizzy: Records/sencode-flac: WAV To FLACGCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 201404132414019860.3517026.27367476347.0027.1416.9821612.42971810.1035904.5313.99428494.8214019960.5916627.05373674384.8327.8817.0921410.871021828.1535953.7313.80429503.70134619529.618716.25237448328.6718.0025.8415513.49941954.2636432.0413.89432024.23OpenBenchmarking.org

Smallpt

Smallpt is a C++ global illumination renderer written in less than 100 lines of code. Global illumination is done via unbiased Monte Carlo path tracing and there is multi-threading support via the OpenMP library. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterSmallpt 1.0Global Illumination Renderer; 100 SamplesGCC 4.8.2LLVM Clang 3.5 20140413306090120150SE +/- 0.00, N = 3SE +/- 0.67, N = 3241341. (CXX) g++ options: -fopenmp -O3 -march=native

GraphicsMagick

This is a test of GraphicsMagick with its OpenMP implementation that performs various imaging tests to stress the system's CPU. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: SharpenGCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 20140413306090120150SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 314014061-std=gnu99 -fopenmp-std=gnu99 -fopenmp1. (CC) gcc options: -O3 -march=native -pthread -ljbig -lwebp -ljpeg -lXext -lX11 -llzma -lxml2 -lz -lm -lpthread

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: ResizingGCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 201404134080120160200SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 319819995-std=gnu99 -fopenmp-std=gnu99 -fopenmp1. (CC) gcc options: -O3 -march=native -pthread -ljbig -lwebp -ljpeg -lXext -lX11 -llzma -lxml2 -lz -lm -lpthread

Timed ImageMagick Compilation

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed ImageMagick Compilation 6.8.1-10Time To CompileGCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 201404131428425670SE +/- 0.36, N = 3SE +/- 0.04, N = 3SE +/- 0.14, N = 360.3560.5929.61

GraphicsMagick

This is a test of GraphicsMagick with its OpenMP implementation that performs various imaging tests to stress the system's CPU. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: BlurGCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 201404134080120160200SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 317016687-std=gnu99 -fopenmp-std=gnu99 -fopenmp1. (CC) gcc options: -O3 -march=native -pthread -ljbig -lwebp -ljpeg -lXext -lX11 -llzma -lxml2 -lz -lm -lpthread

Timed PHP Compilation

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed PHP Compilation 5.2.9Time To CompileGCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 20140413612182430SE +/- 0.08, N = 3SE +/- 0.02, N = 3SE +/- 0.03, N = 326.2727.0516.251. (CC) gcc options: -O3 -march=native -pedantic -ldl -lz -lm

Hierarchical INTegration

This test runs the U.S. Department of Energy's Ames Laboratory Hierarchical INTegration (HINT) benchmark. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgQUIPs, More Is BetterHierarchical INTegration 1.0Test: FLOATGCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 2014041380M160M240M320M400MSE +/- 103032.27, N = 3SE +/- 362392.17, N = 3SE +/- 938522.38, N = 3367476347.00373674384.83237448328.671. (CC) gcc options: -O3 -march=native -lm

Timed Apache Compilation

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed Apache Compilation 2.4.7Time To CompileGCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 20140413714212835SE +/- 0.19, N = 3SE +/- 0.23, N = 3SE +/- 0.05, N = 327.1427.8818.00

C-Ray

This is a test of C-Ray, a simple raytracer designed to test the floating-point CPU performance. This test is multi-threaded (16 threads per core), will shoot 8 rays per pixel for anti-aliasing, and will generate a 1600 x 1200 image. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterC-Ray 1.1Total TimeGCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 20140413612182430SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 316.9817.0925.841. (CC) gcc options: -lm -lpthread -O3 -march=native

GraphicsMagick

This is a test of GraphicsMagick with its OpenMP implementation that performs various imaging tests to stress the system's CPU. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: HWB Color SpaceGCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 2014041350100150200250SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3216214155-std=gnu99 -fopenmp-std=gnu99 -fopenmp1. (CC) gcc options: -O3 -march=native -pthread -ljbig -lwebp -ljpeg -lXext -lX11 -llzma -lxml2 -lz -lm -lpthread

LAME MP3 Encoding

LAME is an MP3 encoder licensed under the LGPL. This test measures the time required to encode a WAV file to MP3 format. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterLAME MP3 Encoding 3.99.3WAV To MP3GCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 201404133691215SE +/- 0.04, N = 5SE +/- 0.01, N = 5SE +/- 0.04, N = 512.4210.8713.491. (CC) gcc options: -pipe -O3 -march=native -lm

GraphicsMagick

This is a test of GraphicsMagick with its OpenMP implementation that performs various imaging tests to stress the system's CPU. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: Local Adaptive ThresholdingGCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 2014041320406080100SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 39710294-std=gnu99 -fopenmp-std=gnu99 -fopenmp1. (CC) gcc options: -O3 -march=native -pthread -ljbig -lwebp -ljpeg -lXext -lX11 -llzma -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 SolverGCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 20140413400800120016002000SE +/- 3.93, N = 3SE +/- 1.31, N = 3SE +/- 12.20, N = 31810.101828.151954.261. (CC) gcc options: -O3 -march=native

Apache Benchmark

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

OpenBenchmarking.orgRequests Per Second, More Is BetterApache Benchmark 2.4.7Static Web Page ServingGCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 201404138K16K24K32K40KSE +/- 136.25, N = 3SE +/- 76.61, N = 3SE +/- 73.90, N = 335904.5335953.7336432.041. (CC) gcc options: -shared -fPIC -pthread -O3 -march=native

FFmpeg

OpenBenchmarking.orgSeconds, Fewer Is BetterFFmpeg 2.1.1H.264 HD To NTSC DVGCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 2014041348121620SE +/- 0.03, N = 3SE +/- 0.01, N = 3SE +/- 0.12, N = 313.9913.8013.89-fno-tree-vectorize -MF -MT-fno-tree-vectorize -MF -MT-Qunused-arguments1. (CC) gcc options: -lavdevice -lavfilter -lavformat -lavcodec -lswresample -lswscale -lavutil -ldl -lasound -lSDL -lm -pthread -O3 -march=native -std=c99 -fomit-frame-pointer -fno-math-errno -fno-signed-zeros -MMD

ebizzy

OpenBenchmarking.orgSeconds, More Is Betterebizzy 0.3Records/sGCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 201404139K18K27K36K45KSE +/- 109.85, N = 3SE +/- 44.08, N = 3SE +/- 53.03, N = 34284942950432021. (CC) gcc options: -pthread -lpthread -O3 -march=native

FLAC Audio Encoding

OpenBenchmarking.orgSeconds, Fewer Is BetterFLAC Audio Encoding 1.3.0WAV To FLACGCC 4.8.2GCC 4.9.0 RC1LLVM Clang 3.5 201404131.08452.1693.25354.3385.4225SE +/- 0.06, N = 7SE +/- 0.09, N = 10SE +/- 0.01, N = 54.823.704.231. (CXX) g++ options: -O3 -march=native -fvisibility=hidden -logg -lm