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&grr.

LLVM Clang vs. GCC On ARM Cortex-A15ProcessorMotherboardMemoryDiskOSKernelDesktopDisplay ServerCompilerFile-SystemScreen ResolutionGCC 4.6.3GCC 4.7.2GCC 4.8.0 SVNLLVM Clang 3.0Exynos ARMv7 rev 4 @ 1.70GHz (2 Cores)SAMSUNG EXYNOS5 (Flattened Device Tree)2048MB16GB SEM16GUbuntu 12.043.4.0 (armv7l)Unity 2D 5.16.0X Server 1.11.3GCC 4.6ext41366x768GCC 4.7GCC 4.8.0 20121008Clang 3.0-6ubuntu3OpenBenchmarking.orgCompiler 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-A15primesieve: 1e12 Prime Number Generationc-ray: Total Timegraphics-magick: Local Adaptive Thresholdinggraphics-magick: HWB Color Spacegraphics-magick: Resizinggraphics-magick: Sharpengraphics-magick: Blurmrbayes: Primate Phylogeny Analysishmmer: Pfam Database SearchGCC 4.6.3GCC 4.7.2GCC 4.8.0 SVNLLVM Clang 3.0883.94435.432250402332201.62124.30866.18313.322347402332200.22114.98886.19313.272347402332197.95124.651507.90508.531339221119226.50131.65OpenBenchmarking.org

Primesieve

1e12 Prime Number Generation

OpenBenchmarking.orgSeconds, Fewer Is BetterPrimesieve 4.01e12 Prime Number GenerationGCC 4.6.3GCC 4.7.2GCC 4.8.0 SVNLLVM Clang 3.030060090012001500SE +/- 18.65, N = 6SE +/- 16.56, N = 3SE +/- 22.70, N = 6SE +/- 2.23, N = 3883.94866.18886.191507.90-fopenmp-fopenmp-fopenmp1. (CXX) g++ options: -O2

C-Ray

Total Time

OpenBenchmarking.orgSeconds, Fewer Is BetterC-Ray 1.1Total TimeGCC 4.6.3GCC 4.7.2GCC 4.8.0 SVNLLVM Clang 3.0110220330440550SE +/- 2.09, N = 3SE +/- 0.82, N = 3SE +/- 3.69, N = 3SE +/- 0.92, N = 3435.43313.32313.27508.531. (CC) gcc options: -lm -lpthread -O3

GraphicsMagick

Operation: Local Adaptive Thresholding

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: Local Adaptive ThresholdingGCC 4.6.3GCC 4.7.2GCC 4.8.0 SVNLLVM Clang 3.0612182430SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 322232313-std=gnu99 -fopenmp -lgomp-std=gnu99 -fopenmp -lgomp-std=gnu99 -fopenmp -lgomp1. (CC) gcc options: -O2 -pthread -lbz2 -lz -lm -lpthread

GraphicsMagick

Operation: HWB Color Space

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: HWB Color SpaceGCC 4.6.3GCC 4.7.2GCC 4.8.0 SVNLLVM Clang 3.01122334455SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 350474739-std=gnu99 -fopenmp -lgomp-std=gnu99 -fopenmp -lgomp-std=gnu99 -fopenmp -lgomp1. (CC) gcc options: -O2 -pthread -lbz2 -lz -lm -lpthread

GraphicsMagick

Operation: Resizing

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: ResizingGCC 4.6.3GCC 4.7.2GCC 4.8.0 SVNLLVM Clang 3.0918273645SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 340404022-std=gnu99 -fopenmp -lgomp-std=gnu99 -fopenmp -lgomp-std=gnu99 -fopenmp -lgomp1. (CC) gcc options: -O2 -pthread -lbz2 -lz -lm -lpthread

GraphicsMagick

Operation: Sharpen

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: SharpenGCC 4.6.3GCC 4.7.2GCC 4.8.0 SVNLLVM Clang 3.0612182430SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 323232311-std=gnu99 -fopenmp -lgomp-std=gnu99 -fopenmp -lgomp-std=gnu99 -fopenmp -lgomp1. (CC) gcc options: -O2 -pthread -lbz2 -lz -lm -lpthread

GraphicsMagick

Operation: Blur

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: BlurGCC 4.6.3GCC 4.7.2GCC 4.8.0 SVNLLVM Clang 3.0714212835SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 332323219-std=gnu99 -fopenmp -lgomp-std=gnu99 -fopenmp -lgomp-std=gnu99 -fopenmp -lgomp1. (CC) gcc options: -O2 -pthread -lbz2 -lz -lm -lpthread

Timed MrBayes Analysis

Primate Phylogeny Analysis

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed MrBayes Analysis 3.1.2Primate Phylogeny AnalysisGCC 4.6.3GCC 4.7.2GCC 4.8.0 SVNLLVM Clang 3.050100150200250SE +/- 1.49, N = 3SE +/- 0.32, N = 3SE +/- 1.07, N = 3SE +/- 1.50, N = 3201.62200.22197.95226.50

Timed HMMer Search

Pfam Database Search

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed HMMer Search 2.3.2Pfam Database SearchGCC 4.6.3GCC 4.7.2GCC 4.8.0 SVNLLVM Clang 3.0306090120150SE +/- 0.14, N = 3SE +/- 0.11, N = 3SE +/- 0.06, N = 3SE +/- 2.57, N = 3124.30114.98124.65131.651. (CC) gcc options: -O2 -pthread -lhmmer -lsquid -lm


Phoronix Test Suite v10.8.5