1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

GCC vs. LLVM/Clang Compilers On ARMv7 Linux

Compiler

Published on 09 May 2012 12:35 PM EDT
Written by Michael Larabel in Compiler
3 Comments

While comparing compiler performance of different Linux code compilers on different software stacks and hardware configurations is nothing new at all to Phoronix, usually it's done on x86 hardware. However, with ARM hardware becoming increasingly common and much more powerful, here's a comparison of the GCC and LLVM/Clang compilers on a dual-core ARM development board.

This latest ARMv7 Linux benchmarking builds upon the Ubuntu 12.04 ARM benchmarks shared on Monday of the PandaBoard ES with its OMAP4460 dual-core Cortex-A9 SoC. The Texas Instruments hardware was running with 1GB of RAM and 16GB SDHC storage. The results today are using Ubuntu 12.04 with its ARMv7 Linux 3.2 kernel and comparing the performance of GCC 4.6 and LLVM/Clang 3.0 as found in the Ubuntu 12.04 Precise repository.

With CacheBench, when built by GCC 4.6 on the OMAP4460 on the device itself, the binaries were much faster than the ones produced by LLVM/Clang 3.0 except for the pure write test.

LLVM/Clang on ARM was also much slower for the C-written SciMark than using the Apple-sponsored Clang.

TSCP at least didn't lose as badly when built by Clang. 7-Zip also performed more closely between these two popular compilers.

N-Queens finally produced a win for LLVM/Clang.

LLVM/Clang still doesn't have support for OpenMP. More result data from this GCC vs. LLVM/Clang compiler comparison on ARM can be found on OpenBenchmarking.org (though ignore the Fortran FFTE test that accidentally slipped in there). LLVM/Clang on this dual-core OMAP4460 SoC was much less competitive than GCC 4.6, though it will be interesting to do this comparison with GCC 4.7 and the forthcoming LLVM/Clang 3.1. I'll also run some compiler benchmarks from the quad-core NVIDIA Tegra 3 ARM tablet.

On the ARM side, there is great interest with LLVM/Clang. Qualcomm is even trying to use Clang to build an ARM Linux kernel and other software with the LLVM-based compiler rather than GCC. Going forward the ARM Clang performance on Linux should certainly improve.

For some x86 compiler comparison numbers, see the AMD FX-8150 Bulldozer results and a comparison earlier this week of LLVM/Clang 3.0/3.1 vs. GCC 4.6/4.7 compiler four-way.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. NVIDIA GeForce GTX 970 Offers Great Linux Performance
  2. CompuLab Intense-PC2: An Excellent, Fanless, Mini PC Powered By Intel's i7 Haswell
  3. From The Atom 330 To Haswell ULT: Intel Linux Performance Benchmarks
  4. AMD Radeon R9 285 Tonga Performance On Linux
Latest Linux Articles
  1. Btrfs RAID HDD Testing On Ubuntu Linux 14.10
  2. Ubuntu 14.10 Linux 32-bit vs. 64-bit Performance
  3. AMD Moves Forward With Unified Linux Driver Strategy, New Kernel Driver
  4. MSI: Update Your BIOS From The Linux Desktop
Latest Linux News
  1. SteamOS Update 145 Brings Compositor, Update Fixes
  2. GStreamer 2014 Conference Videos Posted: Wayland, HTML5, 3D
  3. Nouveau Now Supports DRI3 Without GLAMOR
  4. Features Of The Linux 3.18 Kernel
  5. Debian Now Defaults To Xfce On Non-x86 Desktops
  6. Phoenix Is Trying To Be An Open Version Of Apple's Swift
  7. Linux 3.19 To Have Skylake Graphics, PPGTT Enablement
  8. Ubuntu 16.04 Might Be The Distribution's Last 32-Bit Release
  9. Imagination Releases Full ISA Documentation For PowerVR Rogue GPUs
  10. Features GNOME Developers Want In The Linux Kernel
Latest Forum Discussions
  1. Users/Developers Threatening Fork Of Debian GNU/Linux
  2. Ubuntu 16.04 Might Be The Distribution's Last 32-Bit Release
  3. AMD Releases UVD Video Decode Support For R600 GPUs
  4. HOPE: The Ease Of Python With The Speed Of C++
  5. Proof that strlcpy is un-needed
  6. xbox one tv tuner
  7. Bye bye BSD, Hello Linux: A Sys Admin's Story
  8. Updated and Optimized Ubuntu Free Graphics Drivers