LLVM Clang vs. GCC On ARM Cortex-A15 ARM Cortex-A15 compiler benchmarks of GCC 4.6, 4.7, and 4.8 compared to LLVM/Clang 3.0 on the Samsung Chromebook with Samsung Exynos 5 Dual. Benchmarks for a future article on Phoronix.com.
HTML result view exported from: https://openbenchmarking.org/result/1212019-RA-LLVMCLANG39&grw&sor .
LLVM Clang vs. GCC On ARM Cortex-A15 Processor Motherboard Memory Disk OS Kernel Desktop Display Server Compiler File-System Screen Resolution GCC 4.6.3 GCC 4.7.2 GCC 4.8.0 SVN LLVM Clang 3.0 Exynos ARMv7 rev 4 @ 1.70GHz (2 Cores) SAMSUNG EXYNOS5 (Flattened Device Tree) 2048MB 16GB SEM16G Ubuntu 12.04 3.4.0 (armv7l) Unity 2D 5.16.0 X Server 1.11.3 GCC 4.6 ext4 1366x768 GCC 4.7 GCC 4.8.0 20121008 Clang 3.0-6ubuntu3 OpenBenchmarking.org Compiler Details - GCC 4.6.3: --build=arm-linux-gnueabihf --disable-sjlj-exceptions --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multilib --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 --with-mode=thumb -v - GCC 4.7.2: --build=arm-linux-gnueabihf --disable-libitm --disable-sjlj-exceptions --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,go,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multilib --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 --with-mode=thumb -v - GCC 4.8.0 SVN: --build=arm-linux-gnueabihf --disable-libitm --disable-nls --disable-sjlj-exceptions --disable-werror --enable-checking=yes --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,ada,c++,go,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multilib --enable-plugin --enable-shared --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 --with-mode=thumb -v Processor Details - Scaling Governor: ondemand
LLVM Clang vs. GCC On ARM Cortex-A15 hmmer: Pfam Database Search mrbayes: Primate Phylogeny Analysis primesieve: 1e12 Prime Number Generation graphics-magick: Blur graphics-magick: Sharpen graphics-magick: Resizing graphics-magick: HWB Color Space graphics-magick: Local Adaptive Thresholding c-ray: Total Time GCC 4.6.3 GCC 4.7.2 GCC 4.8.0 SVN LLVM Clang 3.0 124.30 201.62 883.94 32 23 40 50 22 435.43 114.98 200.22 866.18 32 23 40 47 23 313.32 124.65 197.95 886.19 32 23 40 47 23 313.27 131.65 226.50 1507.90 19 11 22 39 13 508.53 OpenBenchmarking.org
Timed HMMer Search Pfam Database Search OpenBenchmarking.org Seconds, Fewer Is Better Timed HMMer Search 2.3.2 Pfam Database Search GCC 4.7.2 GCC 4.6.3 GCC 4.8.0 SVN LLVM Clang 3.0 30 60 90 120 150 SE +/- 0.11, N = 3 SE +/- 0.14, N = 3 SE +/- 0.06, N = 3 SE +/- 2.57, N = 3 114.98 124.30 124.65 131.65 1. (CC) gcc options: -O2 -pthread -lhmmer -lsquid -lm
Timed MrBayes Analysis Primate Phylogeny Analysis OpenBenchmarking.org Seconds, Fewer Is Better Timed MrBayes Analysis 3.1.2 Primate Phylogeny Analysis GCC 4.8.0 SVN GCC 4.7.2 GCC 4.6.3 LLVM Clang 3.0 50 100 150 200 250 SE +/- 1.07, N = 3 SE +/- 0.32, N = 3 SE +/- 1.49, N = 3 SE +/- 1.50, N = 3 197.95 200.22 201.62 226.50
Primesieve 1e12 Prime Number Generation OpenBenchmarking.org Seconds, Fewer Is Better Primesieve 4.0 1e12 Prime Number Generation GCC 4.7.2 GCC 4.6.3 GCC 4.8.0 SVN LLVM Clang 3.0 300 600 900 1200 1500 SE +/- 16.56, N = 3 SE +/- 18.65, N = 6 SE +/- 22.70, N = 6 SE +/- 2.23, N = 3 866.18 883.94 886.19 1507.90 -fopenmp -fopenmp -fopenmp 1. (CXX) g++ options: -O2
GraphicsMagick Operation: Blur OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.16 Operation: Blur GCC 4.8.0 SVN GCC 4.7.2 GCC 4.6.3 LLVM Clang 3.0 7 14 21 28 35 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 32 32 32 19 -std=gnu99 -fopenmp -lgomp -std=gnu99 -fopenmp -lgomp -std=gnu99 -fopenmp -lgomp 1. (CC) gcc options: -O2 -pthread -lbz2 -lz -lm -lpthread
GraphicsMagick Operation: Sharpen OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.16 Operation: Sharpen GCC 4.8.0 SVN GCC 4.7.2 GCC 4.6.3 LLVM Clang 3.0 6 12 18 24 30 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 23 23 23 11 -std=gnu99 -fopenmp -lgomp -std=gnu99 -fopenmp -lgomp -std=gnu99 -fopenmp -lgomp 1. (CC) gcc options: -O2 -pthread -lbz2 -lz -lm -lpthread
GraphicsMagick Operation: Resizing OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.16 Operation: Resizing GCC 4.8.0 SVN GCC 4.7.2 GCC 4.6.3 LLVM Clang 3.0 9 18 27 36 45 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 40 40 40 22 -std=gnu99 -fopenmp -lgomp -std=gnu99 -fopenmp -lgomp -std=gnu99 -fopenmp -lgomp 1. (CC) gcc options: -O2 -pthread -lbz2 -lz -lm -lpthread
GraphicsMagick Operation: HWB Color Space OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.16 Operation: HWB Color Space GCC 4.6.3 GCC 4.8.0 SVN GCC 4.7.2 LLVM Clang 3.0 11 22 33 44 55 SE +/- 0.33, N = 3 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 50 47 47 39 -std=gnu99 -fopenmp -lgomp -std=gnu99 -fopenmp -lgomp -std=gnu99 -fopenmp -lgomp 1. (CC) gcc options: -O2 -pthread -lbz2 -lz -lm -lpthread
GraphicsMagick Operation: Local Adaptive Thresholding OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.16 Operation: Local Adaptive Thresholding GCC 4.8.0 SVN GCC 4.7.2 GCC 4.6.3 LLVM Clang 3.0 6 12 18 24 30 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 23 23 22 13 -std=gnu99 -fopenmp -lgomp -std=gnu99 -fopenmp -lgomp -std=gnu99 -fopenmp -lgomp 1. (CC) gcc options: -O2 -pthread -lbz2 -lz -lm -lpthread
C-Ray Total Time OpenBenchmarking.org Seconds, Fewer Is Better C-Ray 1.1 Total Time GCC 4.8.0 SVN GCC 4.7.2 GCC 4.6.3 LLVM Clang 3.0 110 220 330 440 550 SE +/- 3.69, N = 3 SE +/- 0.82, N = 3 SE +/- 2.09, N = 3 SE +/- 0.92, N = 3 313.27 313.32 435.43 508.53 1. (CC) gcc options: -lm -lpthread -O3
Phoronix Test Suite v10.8.5