ARM Cortex A15 GCC Compiler Benchmarks Benchmarks of GCC 4.6.3 vs. GCC 4.7.2 from a Samsung Exynos 5 Dual SoC with ARM Cortex A15 dual-core ARMv7 1.7GHz processor. Cortex A15 ARM compiler benchmarking for a future article on Phoronix.com.
HTML result view exported from: https://openbenchmarking.org/result/1212044-RA-CORTEX15G86&gru&rdt .
ARM Cortex A15 GCC Compiler Benchmarks Processor Motherboard Memory Disk OS Kernel Desktop Display Server Compiler File-System Screen Resolution GCC 4.6.3 GCC 4.7.2 fpu=neon marm mtune=cortex-a15 mtune=cortex-a15 marm fpu=neon 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 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 - fpu=neon: --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 - marm: --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 - mtune=cortex-a15: --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 - mtune=cortex-a15 marm fpu=neon: --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 Processor Details - Scaling Governor: ondemand System Details - GCC 4.6.3: Python 2.7.3.
ARM Cortex A15 GCC Compiler Benchmarks vpxenc: vpxenc x264: H.264 Video Encoding scimark2: Fast Fourier Transform c-ray: Total Time primesieve: 1e12 Prime Number Generation smallpt: Global Illumination Renderer; 100 Samples encode-flac: WAV To FLAC encode-ogg: WAV To Ogg GCC 4.6.3 GCC 4.7.2 fpu=neon marm mtune=cortex-a15 mtune=cortex-a15 marm fpu=neon 1.21 10.62 37.65 447.38 957.91 1208 19.81 31.50 1.29 10.83 44.62 348.61 810.27 1181 19.18 31.75 1.33 11.04 47.46 315.31 841.75 1190 16.43 32.30 1.30 10.68 40.69 315.86 837.56 1172 18.52 31.83 1.33 10.79 40.84 327.62 820.77 1189 19.26 31.62 1.42 10.32 42.40 332.87 816.39 1172 16.60 32.16 OpenBenchmarking.org
VP8 libvpx Encoding vpxenc OpenBenchmarking.org Frames Per Second, More Is Better VP8 libvpx Encoding 1.1.0 vpxenc GCC 4.6.3 GCC 4.7.2 fpu=neon marm mtune=cortex-a15 mtune=cortex-a15 marm fpu=neon 0.3195 0.639 0.9585 1.278 1.5975 SE +/- 0.00, N = 3 SE +/- 0.01, N = 3 SE +/- 0.00, N = 3 SE +/- 0.01, N = 3 SE +/- 0.00, N = 3 SE +/- 0.01, N = 3 1.21 1.29 1.33 1.30 1.33 1.42 1. (CC) gcc options: -lvpx -lm -lpthread
x264 H.264 Video Encoding OpenBenchmarking.org Frames Per Second, More Is Better x264 2012-10-03 H.264 Video Encoding GCC 4.6.3 GCC 4.7.2 fpu=neon marm mtune=cortex-a15 mtune=cortex-a15 marm fpu=neon 3 6 9 12 15 SE +/- 0.08, N = 3 SE +/- 0.06, N = 3 SE +/- 0.19, N = 3 SE +/- 0.21, N = 3 SE +/- 0.07, N = 3 SE +/- 0.11, N = 3 10.62 10.83 11.04 10.68 10.79 10.32
SciMark Computational Test: Fast Fourier Transform OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Fast Fourier Transform GCC 4.6.3 GCC 4.7.2 fpu=neon marm mtune=cortex-a15 mtune=cortex-a15 marm fpu=neon 11 22 33 44 55 SE +/- 0.82, N = 4 SE +/- 0.29, N = 4 SE +/- 0.63, N = 4 SE +/- 0.88, N = 4 SE +/- 0.46, N = 4 SE +/- 0.73, N = 4 37.65 44.62 47.46 40.69 40.84 42.40
C-Ray Total Time OpenBenchmarking.org Seconds, Fewer Is Better C-Ray 1.1 Total Time GCC 4.6.3 GCC 4.7.2 fpu=neon marm mtune=cortex-a15 mtune=cortex-a15 marm fpu=neon 100 200 300 400 500 SE +/- 7.03, N = 6 SE +/- 16.52, N = 6 SE +/- 1.63, N = 3 SE +/- 0.45, N = 3 SE +/- 0.64, N = 3 SE +/- 2.85, N = 3 447.38 348.61 315.31 315.86 327.62 332.87 -mfpu=neon -marm -mtune=cortex-a15 -mtune=cortex-a15 -marm -mfpu=neon 1. (CC) gcc options: -lm -lpthread -O3
Primesieve 1e12 Prime Number Generation OpenBenchmarking.org Seconds, Fewer Is Better Primesieve 4.0 1e12 Prime Number Generation GCC 4.6.3 GCC 4.7.2 fpu=neon marm mtune=cortex-a15 mtune=cortex-a15 marm fpu=neon 200 400 600 800 1000 SE +/- 6.82, N = 3 SE +/- 9.65, N = 3 SE +/- 12.17, N = 3 SE +/- 10.31, N = 3 SE +/- 14.31, N = 3 SE +/- 14.22, N = 4 957.91 810.27 841.75 837.56 820.77 816.39 1. (CXX) g++ options: -O2 -fopenmp
Smallpt Global Illumination Renderer; 100 Samples OpenBenchmarking.org Seconds, Fewer Is Better Smallpt 1.0 Global Illumination Renderer; 100 Samples GCC 4.6.3 GCC 4.7.2 fpu=neon marm mtune=cortex-a15 mtune=cortex-a15 marm fpu=neon 300 600 900 1200 1500 SE +/- 1.45, N = 3 SE +/- 2.08, N = 3 SE +/- 2.08, N = 3 SE +/- 3.46, N = 3 SE +/- 1.76, N = 3 SE +/- 2.52, N = 3 1208 1181 1190 1172 1189 1172 -mfpu=neon -marm -mtune=cortex-a15 -mtune=cortex-a15 -marm -mfpu=neon 1. (CXX) g++ options: -fopenmp
FLAC Audio Encoding WAV To FLAC OpenBenchmarking.org Seconds, Fewer Is Better FLAC Audio Encoding 1.2.1 WAV To FLAC GCC 4.6.3 GCC 4.7.2 fpu=neon marm mtune=cortex-a15 mtune=cortex-a15 marm fpu=neon 5 10 15 20 25 SE +/- 0.04, N = 5 SE +/- 0.06, N = 5 SE +/- 0.04, N = 5 SE +/- 0.05, N = 5 SE +/- 0.28, N = 5 SE +/- 0.20, N = 10 19.81 19.18 16.43 18.52 19.26 16.60 -O2 -O2 -mfpu=neon -marm -mtune=cortex-a15 -mtune=cortex-a15 -marm -mfpu=neon 1. (CXX) g++ options: -logg -lm
Ogg Encoding WAV To Ogg OpenBenchmarking.org Seconds, Fewer Is Better Ogg Encoding 1.3.0 WAV To Ogg GCC 4.6.3 GCC 4.7.2 fpu=neon marm mtune=cortex-a15 mtune=cortex-a15 marm fpu=neon 8 16 24 32 40 SE +/- 0.13, N = 5 SE +/- 0.16, N = 5 SE +/- 0.16, N = 5 SE +/- 0.31, N = 5 SE +/- 0.14, N = 5 SE +/- 0.27, N = 5 31.50 31.75 32.30 31.83 31.62 32.16 -mfpu=neon -marm -mtune=cortex-a15 -mtune=cortex-a15 -marm -mfpu=neon 1. (CC) gcc options: -O2 -ffast-math -fsigned-char -lm -logg
Phoronix Test Suite v10.8.5