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&sor&grr .
OpenMP Compiler GCC Clang Processor Motherboard Chipset Memory Disk Graphics Audio Network OS Kernel Desktop Display Server Display Driver OpenGL Compiler File-System Screen Resolution GCC 4.9.0 Clang 3.4 Stock Clang 3.4 Intel OpenMP Intel Core i7-3517U @ 1.90GHz (4 Cores) ASUS UX32VDA v1.0 Intel 3rd Gen Core DRAM 4096MB 2 x 128GB SanDisk SD5SF212 Intel HD 4000 512MB (1150MHz) Realtek ALC269VB Intel Centrino Advanced-N 6235 Ubuntu 14.04 3.13.0-24-generic (x86_64) Unity 7.2.0 X Server 1.15.1 intel 2.99.910 3.3 Mesa 10.1.0 GCC 4.9.0 ext4 1920x1080 Clang 3.4-1ubuntu3 Clang 3.4 + LLVM 3.4 OpenBenchmarking.org Compiler 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 Clang encode-mp3: WAV To MP3 encode-flac: WAV To FLAC smallpt: Global Illumination Renderer; 100 Samples c-ray: Total Time build-apache: Time To Compile graphics-magick: Local Adaptive Thresholding graphics-magick: HWB Color Space graphics-magick: Resizing graphics-magick: Sharpen graphics-magick: Blur ttsiod-renderer: Phong Rendering With Soft-Shadow Mapping clomp: Static OMP Speedup GCC 4.9.0 Clang 3.4 Stock Clang 3.4 Intel OpenMP 15.93 6.02 239 74.00 60.08 70 134 114 64 100 64.35 2.69 15.06 6.65 484 83.96 43.35 68 110 87 42 64 15.06 6.66 238 83.91 41.94 68 113 59 88 64.18 OpenBenchmarking.org
LAME MP3 Encoding WAV To MP3 OpenBenchmarking.org Seconds, Fewer Is Better LAME MP3 Encoding 3.99.3 WAV To MP3 Clang 3.4 Stock Clang 3.4 Intel OpenMP GCC 4.9.0 4 8 12 16 20 SE +/- 0.01, N = 5 SE +/- 0.01, N = 5 SE +/- 0.01, N = 5 15.06 15.06 15.93 1. (CC) gcc options: -O3 -ffast-math -funroll-loops -pipe -lncurses -lm
FLAC Audio Encoding WAV To FLAC OpenBenchmarking.org Seconds, Fewer Is Better FLAC Audio Encoding 1.3.0 WAV To FLAC GCC 4.9.0 Clang 3.4 Stock Clang 3.4 Intel OpenMP 2 4 6 8 10 SE +/- 0.00, N = 5 SE +/- 0.00, N = 5 SE +/- 0.00, N = 5 6.02 6.65 6.66 1. (CXX) g++ options: -O2 -fvisibility=hidden -logg -lm
Smallpt Global Illumination Renderer; 100 Samples OpenBenchmarking.org Seconds, Fewer Is Better Smallpt 1.0 Global Illumination Renderer; 100 Samples Clang 3.4 Intel OpenMP GCC 4.9.0 Clang 3.4 Stock 100 200 300 400 500 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 238 239 484 1. (CXX) g++ options: -fopenmp
C-Ray Total Time OpenBenchmarking.org Seconds, Fewer Is Better C-Ray 1.1 Total Time GCC 4.9.0 Clang 3.4 Intel OpenMP Clang 3.4 Stock 20 40 60 80 100 SE +/- 0.01, N = 3 SE +/- 0.03, N = 3 SE +/- 0.03, N = 3 74.00 83.91 83.96 1. (CC) gcc options: -lm -lpthread -O3
Timed Apache Compilation Time To Compile OpenBenchmarking.org Seconds, Fewer Is Better Timed Apache Compilation 2.4.7 Time To Compile Clang 3.4 Intel OpenMP Clang 3.4 Stock GCC 4.9.0 13 26 39 52 65 SE +/- 0.05, N = 3 SE +/- 0.07, N = 3 SE +/- 0.11, N = 3 41.94 43.35 60.08
GraphicsMagick Operation: Local Adaptive Thresholding OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.19 Operation: Local Adaptive Thresholding GCC 4.9.0 Clang 3.4 Intel OpenMP Clang 3.4 Stock 16 32 48 64 80 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 70 68 68 -std=gnu99 -fopenmp -lgomp -fopenmp -lgomp 1. (CC) gcc options: -O2 -pthread -ljbig -lwebp -ljpeg -lXext -lSM -lICE -lX11 -llzma -lxml2 -lz -lm -lpthread
GraphicsMagick Operation: HWB Color Space OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.19 Operation: HWB Color Space GCC 4.9.0 Clang 3.4 Intel OpenMP Clang 3.4 Stock 30 60 90 120 150 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 134 113 110 -std=gnu99 -fopenmp -lgomp -fopenmp -lgomp 1. (CC) gcc options: -O2 -pthread -ljbig -lwebp -ljpeg -lXext -lSM -lICE -lX11 -llzma -lxml2 -lz -lm -lpthread
GraphicsMagick Operation: Resizing OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.19 Operation: Resizing GCC 4.9.0 Clang 3.4 Stock 30 60 90 120 150 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 114 87 -std=gnu99 -fopenmp -lgomp 1. (CC) gcc options: -O2 -pthread -ljbig -lwebp -ljpeg -lXext -lSM -lICE -lX11 -llzma -lxml2 -lz -lm -lpthread
GraphicsMagick Operation: Sharpen OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.19 Operation: Sharpen GCC 4.9.0 Clang 3.4 Intel OpenMP Clang 3.4 Stock 14 28 42 56 70 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 64 59 42 -std=gnu99 -fopenmp -lgomp -fopenmp -lgomp 1. (CC) gcc options: -O2 -pthread -ljbig -lwebp -ljpeg -lXext -lSM -lICE -lX11 -llzma -lxml2 -lz -lm -lpthread
GraphicsMagick Operation: Blur OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.19 Operation: Blur GCC 4.9.0 Clang 3.4 Intel OpenMP Clang 3.4 Stock 20 40 60 80 100 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 100 88 64 -std=gnu99 -fopenmp -lgomp -fopenmp -lgomp 1. (CC) gcc options: -O2 -pthread -ljbig -lwebp -ljpeg -lXext -lSM -lICE -lX11 -llzma -lxml2 -lz -lm -lpthread
TTSIOD 3D Renderer Phong Rendering With Soft-Shadow Mapping OpenBenchmarking.org FPS, More Is Better TTSIOD 3D Renderer 2.2z Phong Rendering With Soft-Shadow Mapping GCC 4.9.0 Clang 3.4 Intel OpenMP 14 28 42 56 70 SE +/- 0.04, N = 3 SE +/- 0.10, N = 3 64.35 64.18 1. (CXX) g++ options: -O3 -fomit-frame-pointer -ffast-math -mtune=native -flto -msse -mrecip -mfpmath=sse -msse2 -mssse3 -lSDL -lstdc++
CLOMP Static OMP Speedup OpenBenchmarking.org Speedup, More Is Better CLOMP 3.3 Static OMP Speedup GCC 4.9.0 0.6053 1.2106 1.8159 2.4212 3.0265 SE +/- 0.00, N = 5 2.69 1. (CC) gcc options: --openmp -O3 -lm
Phoronix Test Suite v10.8.5