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.

Latest Linux Hardware Reviews
  1. Overclocking The AMD AM1 Athlon & Sempron APUs
  2. AMD Athlon 5350 / 5150 & Sempron 3850 / 2650
  3. Upgraded Kernel & Mesa Yield A Big Boost For Athlon R3 Graphics
  4. AMD Athlon 5350 APU On Linux
Latest Linux Articles
  1. A Quick Look At GCC 4.9 vs. LLVM Clang 3.5
  2. Are AMD Athlon/Sempron APUs Fast Enough For Steam On Linux?
  3. AMD Athlon's R3 Graphics: RadeonSI Gallium3D vs. Catalyst
  4. GCC 4.9 Compiler Optimization Benchmarks For Faster Binaries
Latest Linux News
  1. Maynard: A Lightweight Wayland Desktop
  2. Chromium Browser Going Through Growing Pains In Ubuntu 14.04
  3. KDE 4.13 Is Being Released Today With New Features
  4. Trying Out Radeon R9 290 Graphics On Open-Source
  5. Intel Broadwell GT3 Graphics Have Dual BSD Rings
  6. Early Linux 3.15 Benchmarks Of Intel Core i7 + Radeon
  7. Red Hat Releases Its RHEL 7 Release Candidate
  8. New Features Coming To Xubuntu 14.04 LTS
  9. NVIDIA Officially Releases CUDA 6
  10. Google Releases An AutoFDO Converter For Perf In LLVM
  11. Fedora 21 To Evaluate Remote Journal Logging, 64-bit ARM Emulation
  12. Star Citizen Will Be Coming To Linux
Latest Forum Discussions
  1. The GNOME Foundation Is Running Short On Money
  2. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  3. Bye bye BSD, Hello Linux: A Sys Admin's Story
  4. New tool for undervolt/overclock AMD K8L and K10 processors
  5. How to enable opengl 3.3 on r9 270?
  6. R290x sound problems
  7. radeon-profile: tool for changing profiles and monitoring some GPU parameters
  8. Torvalds Is Unconvinced By LTO'ing A Linux Kernel