OpenMP Compiler GCC Clang

A Compiler comparison by Michael Larabel looking at the OpenMP LLVM Clang performance against GCC. Using Intel's Clang LLVM Compiler-RT and Intel OpenMP Runtime Library code on Ubuntu Linux. Benchmarks for a future article on Phoronix.com. Also a few other non-OMP benchmarks in this result file...

HTML result view exported from: https://openbenchmarking.org/result/1405255-PTS-OPENMPCO89.

OpenMP Compiler GCC ClangProcessorMotherboardChipsetMemoryDiskGraphicsAudioNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionGCC 4.9.0Clang 3.4 StockClang 3.4 Intel OpenMPIntel Core i7-3517U @ 1.90GHz (4 Cores)ASUS UX32VDA v1.0Intel 3rd Gen Core DRAM4096MB2 x 128GB SanDisk SD5SF212Intel HD 4000 512MB (1150MHz)Realtek ALC269VBIntel Centrino Advanced-N 6235Ubuntu 14.043.13.0-24-generic (x86_64)Unity 7.2.0X Server 1.15.1intel 2.99.9103.3 Mesa 10.1.0GCC 4.9.0ext41920x1080Clang 3.4-1ubuntu3Clang 3.4 + LLVM 3.4OpenBenchmarking.orgCompiler Details- GCC 4.9.0: --build=x86_64-linux-gnu --disable-browser-plugin --disable-libmudflap --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,c++,java,go,fortran,objc,obj-c++ --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-multilib-list=m32,m64,mx32 --with-tune=generic -v - Clang 3.4 Intel OpenMP: Optimized build; Built May 25 2014 (09:24:01); Default target: x86_64-unknown-linux-gnu; Host CPU: core-avx-i Processor Details- Scaling Governor: acpi-cpufreq ondemand

OpenMP Compiler GCC Clangclomp: Static OMP Speedupttsiod-renderer: Phong Rendering With Soft-Shadow Mappinggraphics-magick: Blurgraphics-magick: Sharpengraphics-magick: Resizinggraphics-magick: HWB Color Spacegraphics-magick: Local Adaptive Thresholdingbuild-apache: Time To Compilec-ray: Total Timesmallpt: Global Illumination Renderer; 100 Samplesencode-flac: WAV To FLACencode-mp3: WAV To MP3GCC 4.9.0Clang 3.4 StockClang 3.4 Intel OpenMP2.6964.35100641141347060.0874.002396.0215.936442871106843.3583.964846.6515.0664.1888591136841.9483.912386.6615.06OpenBenchmarking.org

CLOMP

Static OMP Speedup

OpenBenchmarking.orgSpeedup, More Is BetterCLOMP 3.3Static OMP SpeedupGCC 4.9.00.60531.21061.81592.42123.0265SE +/- 0.00, N = 52.691. (CC) gcc options: --openmp -O3 -lm

TTSIOD 3D Renderer

Phong Rendering With Soft-Shadow Mapping

OpenBenchmarking.orgFPS, More Is BetterTTSIOD 3D Renderer 2.2zPhong Rendering With Soft-Shadow MappingGCC 4.9.0Clang 3.4 Intel OpenMP1428425670SE +/- 0.04, N = 3SE +/- 0.10, N = 364.3564.181. (CXX) g++ options: -O3 -fomit-frame-pointer -ffast-math -mtune=native -flto -msse -mrecip -mfpmath=sse -msse2 -mssse3 -lSDL -lstdc++

GraphicsMagick

Operation: Blur

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: BlurGCC 4.9.0Clang 3.4 StockClang 3.4 Intel OpenMP20406080100SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 31006488-std=gnu99 -fopenmp -lgomp-fopenmp -lgomp1. (CC) gcc options: -O2 -pthread -ljbig -lwebp -ljpeg -lXext -lSM -lICE -lX11 -llzma -lxml2 -lz -lm -lpthread

GraphicsMagick

Operation: Sharpen

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: SharpenGCC 4.9.0Clang 3.4 StockClang 3.4 Intel OpenMP1428425670SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3644259-std=gnu99 -fopenmp -lgomp-fopenmp -lgomp1. (CC) gcc options: -O2 -pthread -ljbig -lwebp -ljpeg -lXext -lSM -lICE -lX11 -llzma -lxml2 -lz -lm -lpthread

GraphicsMagick

Operation: Resizing

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: ResizingGCC 4.9.0Clang 3.4 Stock306090120150SE +/- 0.00, N = 3SE +/- 0.00, N = 311487-std=gnu99 -fopenmp -lgomp1. (CC) gcc options: -O2 -pthread -ljbig -lwebp -ljpeg -lXext -lSM -lICE -lX11 -llzma -lxml2 -lz -lm -lpthread

GraphicsMagick

Operation: HWB Color Space

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: HWB Color SpaceGCC 4.9.0Clang 3.4 StockClang 3.4 Intel OpenMP306090120150SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3134110113-std=gnu99 -fopenmp -lgomp-fopenmp -lgomp1. (CC) gcc options: -O2 -pthread -ljbig -lwebp -ljpeg -lXext -lSM -lICE -lX11 -llzma -lxml2 -lz -lm -lpthread

GraphicsMagick

Operation: Local Adaptive Thresholding

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: Local Adaptive ThresholdingGCC 4.9.0Clang 3.4 StockClang 3.4 Intel OpenMP1632486480SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3706868-std=gnu99 -fopenmp -lgomp-fopenmp -lgomp1. (CC) gcc options: -O2 -pthread -ljbig -lwebp -ljpeg -lXext -lSM -lICE -lX11 -llzma -lxml2 -lz -lm -lpthread

Timed Apache Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed Apache Compilation 2.4.7Time To CompileGCC 4.9.0Clang 3.4 StockClang 3.4 Intel OpenMP1326395265SE +/- 0.11, N = 3SE +/- 0.07, N = 3SE +/- 0.05, N = 360.0843.3541.94

C-Ray

Total Time

OpenBenchmarking.orgSeconds, Fewer Is BetterC-Ray 1.1Total TimeGCC 4.9.0Clang 3.4 StockClang 3.4 Intel OpenMP20406080100SE +/- 0.01, N = 3SE +/- 0.03, N = 3SE +/- 0.03, N = 374.0083.9683.911. (CC) gcc options: -lm -lpthread -O3

Smallpt

Global Illumination Renderer; 100 Samples

OpenBenchmarking.orgSeconds, Fewer Is BetterSmallpt 1.0Global Illumination Renderer; 100 SamplesGCC 4.9.0Clang 3.4 StockClang 3.4 Intel OpenMP100200300400500SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 32394842381. (CXX) g++ options: -fopenmp

FLAC Audio Encoding

WAV To FLAC

OpenBenchmarking.orgSeconds, Fewer Is BetterFLAC Audio Encoding 1.3.0WAV To FLACGCC 4.9.0Clang 3.4 StockClang 3.4 Intel OpenMP246810SE +/- 0.00, N = 5SE +/- 0.00, N = 5SE +/- 0.00, N = 56.026.656.661. (CXX) g++ options: -O2 -fvisibility=hidden -logg -lm

LAME MP3 Encoding

WAV To MP3

OpenBenchmarking.orgSeconds, Fewer Is BetterLAME MP3 Encoding 3.99.3WAV To MP3GCC 4.9.0Clang 3.4 StockClang 3.4 Intel OpenMP48121620SE +/- 0.01, N = 5SE +/- 0.01, N = 5SE +/- 0.01, N = 515.9315.0615.061. (CC) gcc options: -O3 -ffast-math -funroll-loops -pipe -lncurses -lm


Phoronix Test Suite v10.8.5