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 Benchmarking Platform
Phoromatic Test Orchestration

GCC vs. LLVM-GCC Benchmarks

Michael Larabel

Published on 4 September 2009
Written by Michael Larabel
Page 1 of 5 - 34 Comments

Last Friday we published Mac OS X 10.6 benchmarks and then on Monday they were joined by Ubuntu 9.10 vs. Mac OS X 10.6 benchmarks. One of the requests that has come up since publishing those articles are to carry out a set of tests comparing the performance of LLVM and LLVM-GCC. With Apple's Snow Leopard release, some parts of the operating system were built using LLVM-GCC for optimized performance, although this compiler is not yet matured. In this article we have a set of 12 benchmarks comparing GCC to LLVM-GCC.

LLVM-GCC is a C front-end for the Low-Level Virtual Machine but its back-end is a modified version of GCC (4.2). LLVM has its own compiler front-end, clang, for C and C++, but it is not nearly as complete or mature as the GNU Compiler Collection. Clang has been improving in recent times, but some portions are still incomplete (largely with C++). LLVM-GCC is provided with Xcode 3.2 found in Mac OS X 10.6, but it can also be found in several distribution package repositories, including Ubuntu. Apple though is the primary sponsor of the Low-Level Virtual Machine. LLVM/Clang is actually replacing GCC in FreeBSD Base. While we are not testing Clang in this article, for a comparison of Clang against GCC, read LLVM's comparison. Additional information on this open-source compiler infrastructure is available from the project's web-site. LLVM is also used by Apple in their OpenCL implementation and is finding uses on Linux within Gallium3D.

For this benchmarking we used several test profiles from the Phoronix Test Suite that are written in C and are built from source during their installation procedure. Prior to running one of the tests, we set the default compiler to GCC 4.2.1 (Apple Build 5646) and then set the default compiler to LLVM-GCC (GCC 4.2.1, Apple Build 5646, LLVM Build 2118) prior to reinstalling the tests. With the resulting binaries from GCC and LLVM-GCC, we then looked at their performance. Compiler flags and other settings were maintained the same. These tests included LAME MP3 encoding, dcraw, OpenSSL, BYTE Unix Benchmark, John The Ripper, timed MAFFT alignment, Crafty, TSCP, Tachyon, and C-Ray.

The system we used to conduct these tests was a newer Mac Mini with an Intel Core 2 Duo processor clocked at 2.00GHz, a NVIDIA MCP79 motherboard with GeForce 9400M graphics, 1GB of DDR3 memory, and a 120GB Fujitsu MHZ2120BH G1 SATA hard drive. Mac OS X 10.6.0 was used with its 10.0.0 kernel, X Server 1.4.2, OpenGL 2.1 NVIDIA-1.6.0, and a Journaled HFS+ file-system.

Latest Articles & Reviews
  1. Sub-$20 802.11n USB WiFi Adapter That's Linux Friendly
  2. The Lenovo T450s Is Working Beautifully With Linux
  3. Linux 4.0 SSD EXT4 / Btrfs / XFS / F2FS Benchmarks
  4. Linux 4.0 Hard Drive Comparison With Six File-Systems
  5. Lenovo ThinkPad T450s Broadwell Preview
  6. How Open-Source Allowed Valve To Implement VULKAN Much Faster On The Source 2 Engine
Latest Linux News
  1. EXT4 In Linux 4.1 Adds File-System Level Encryption
  2. Open-Source Ardour 4.0 Audio Software Has Big Improvements
  3. Linux-Powered Endless Computer Raises $100k+ In A Few Days
  4. GCC 5.1 RC2 Arrives, GCC 5.1 Planned For Next Week
  5. F2FS For Linux 4.1 Has New Features & Fixes
  6. Phoronix Server Upgrade This Weekend: Dual Haswell Xeons, 96GB DDR4
  7. Google's Experimental QUIC Transport Protocol Is Showing Promise
  8. Red Hat Joins Khronos, The Group Behind OpenGL & Vulkan
  9. NetworkManager Drops WiMAX Support
  10. Wine 1.7.41 Works More On Kernel Job Objects, MSI Patches
Most Viewed News This Week
  1. Nouveau: NVIDIA's New Hardware Is "VERY Open-Source Unfriendly"
  2. Linux 4.0 Kernel Released
  3. Microsoft Announces An LLVM-Based Compiler For .NET
  4. Linux 4.1 Brings Many Potentially Risky x86/ASM Changes
  5. VirtualBox 5.0 Beta 2 Released
  6. KDBUS Is Taking A Lot Of Heat, Might Be Delayed From Mainline Linux Kernel
  7. Mozilla Start Drafting Plans To Deprecate Insecure HTTP
  8. LibreOffice 4.5 Bumped To Become LibreOffice 5.0