FreeBSD 9.1 Compilers: GCC vs. LLVM/Clang With FreeBSD/PC-BSD 9.1 comparing the performance of the stock compilers: GCC 4.2.1 versus LLVM/Clang 3.1 on an Intel Core i7 3960X Extreme Edition system. FreeBSD/PC-BSD 9.1 x64/amd64 with stock packages/settings. Testing for a future article on Phoronix.com.
HTML result view exported from: https://openbenchmarking.org/result/1301299-FO-CLANGFREE98&gru&rdt .
FreeBSD 9.1 Compilers: GCC vs. LLVM/Clang Processor Motherboard Memory Disk Graphics Audio OS Kernel Desktop Display Server Display Driver OpenGL Compiler File-System Screen Resolution GCC 4.2.1 LLVM Clang 3.1 Intel Core i7-3770K @ 3.50GHz (8 Cores) ECS Z77H2-A2X 1.0 8192MB OCZ VERTEX2 1.10 NVIDIA GeForce GTX 460 768MB (675/1800MHz) NVIDIA GT104 HDA FreeBSD 9.1-RELEASE (x86_64) KDE 4.9.3 X Server 1.10.6 NVIDIA 304.64 4.2.0 NVIDIA 304.64 GCC 4.2.1 20070831 + Clang 3.1 (SVN 156863) zfs 1920x1080 Clang 3.1 (SVN 156863) OpenBenchmarking.org System Details - Python 2.7.3.
FreeBSD 9.1 Compilers: GCC vs. LLVM/Clang blogbench: Read blogbench: Write graphics-magick: Blur graphics-magick: Sharpen graphics-magick: Resizing graphics-magick: HWB Color Space graphics-magick: Local Adaptive Thresholding compilebench: Compile compilebench: Initial Create botan: Tiger botan: KASUMI botan: AES-256 botan: Twofish botan: CAST-256 botan: X9.19-MAC scimark2: Monte Carlo scimark2: Fast Fourier Transform scimark2: Sparse Matrix Multiply scimark2: Dense LU Matrix Factorization scimark2: Jacobi Successive Over-Relaxation himeno: Poisson Pressure Solver compress-7zip: Compress Speed Test openssl: RSA 4096-bit Performance postmark: Disk Transaction Performance hmmer: Pfam Database Search build-php: Time To Compile c-ray: Total Time primesieve: 1e12 Prime Number Generation encode-mp3: WAV To MP3 n-queens: Elapsed Time GCC 4.2.1 LLVM Clang 3.1 655790 2065 116 90 149 177 112 141.21 112.31 314.25 68.48 175.12 189.44 89.07 83.50 552.24 329.66 2175.48 2232.78 1114.86 792.30 19059 122.80 390 13.05 25.39 44.47 92.04 14.90 38.64 683983 2027 74 50 97 127 42 182.96 146.38 368.14 61.49 174.50 183.68 105.88 77.99 585.47 329.92 2355.30 2920.54 1592.82 891.34 18576 123.07 379 12.70 25.38 40.52 372.22 14.94 218.21 OpenBenchmarking.org
BlogBench Test: Read OpenBenchmarking.org Final Score, More Is Better BlogBench 1.0 Test: Read GCC 4.2.1 LLVM Clang 3.1 150K 300K 450K 600K 750K SE +/- 13571.88, N = 6 SE +/- 23658.25, N = 6 655790 683983 1. (CC) gcc options: -O2 -pthread
BlogBench Test: Write OpenBenchmarking.org Final Score, More Is Better BlogBench 1.0 Test: Write GCC 4.2.1 LLVM Clang 3.1 400 800 1200 1600 2000 SE +/- 17.19, N = 3 2065 2027 1. (CC) gcc options: -O2 -pthread
GraphicsMagick Operation: Blur OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.16 Operation: Blur GCC 4.2.1 LLVM Clang 3.1 30 60 90 120 150 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 116 74 -std=gnu99 -fopenmp -lgomp 1. (CC) gcc options: -O2 -pthread -llcms2 -ljbig -lrpcsvc -llzma -lbz2 -lz -lm -lpthread
GraphicsMagick Operation: Sharpen OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.16 Operation: Sharpen GCC 4.2.1 LLVM Clang 3.1 20 40 60 80 100 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 90 50 -std=gnu99 -fopenmp -lgomp 1. (CC) gcc options: -O2 -pthread -llcms2 -ljbig -lrpcsvc -llzma -lbz2 -lz -lm -lpthread
GraphicsMagick Operation: Resizing OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.16 Operation: Resizing GCC 4.2.1 LLVM Clang 3.1 30 60 90 120 150 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 149 97 -std=gnu99 -fopenmp -lgomp 1. (CC) gcc options: -O2 -pthread -llcms2 -ljbig -lrpcsvc -llzma -lbz2 -lz -lm -lpthread
GraphicsMagick Operation: HWB Color Space OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.16 Operation: HWB Color Space GCC 4.2.1 LLVM Clang 3.1 40 80 120 160 200 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 177 127 -std=gnu99 -fopenmp -lgomp 1. (CC) gcc options: -O2 -pthread -llcms2 -ljbig -lrpcsvc -llzma -lbz2 -lz -lm -lpthread
GraphicsMagick Operation: Local Adaptive Thresholding OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.16 Operation: Local Adaptive Thresholding GCC 4.2.1 LLVM Clang 3.1 30 60 90 120 150 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 112 42 -std=gnu99 -fopenmp -lgomp 1. (CC) gcc options: -O2 -pthread -llcms2 -ljbig -lrpcsvc -llzma -lbz2 -lz -lm -lpthread
Compile Bench Test: Compile OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Compile GCC 4.2.1 LLVM Clang 3.1 40 80 120 160 200 SE +/- 4.06, N = 6 SE +/- 25.32, N = 6 141.21 182.96
Compile Bench Test: Initial Create OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Initial Create GCC 4.2.1 LLVM Clang 3.1 30 60 90 120 150 SE +/- 1.85, N = 3 SE +/- 2.58, N = 3 112.31 146.38
Botan Test: Tiger OpenBenchmarking.org Mbytes/s, More Is Better Botan 1.10.3 Test: Tiger GCC 4.2.1 LLVM Clang 3.1 80 160 240 320 400 314.25 368.14 1. (CXX) g++ options: -m64 -pthread -lpthread
Botan Test: KASUMI OpenBenchmarking.org Mbytes/s, More Is Better Botan 1.10.3 Test: KASUMI GCC 4.2.1 LLVM Clang 3.1 15 30 45 60 75 68.48 61.49 1. (CXX) g++ options: -m64 -pthread -lpthread
Botan Test: AES-256 OpenBenchmarking.org Mbytes/s, More Is Better Botan 1.10.3 Test: AES-256 GCC 4.2.1 LLVM Clang 3.1 40 80 120 160 200 175.12 174.50 1. (CXX) g++ options: -m64 -pthread -lpthread
Botan Test: Twofish OpenBenchmarking.org Mbytes/s, More Is Better Botan 1.10.3 Test: Twofish GCC 4.2.1 LLVM Clang 3.1 40 80 120 160 200 189.44 183.68 1. (CXX) g++ options: -m64 -pthread -lpthread
Botan Test: CAST-256 OpenBenchmarking.org Mbytes/s, More Is Better Botan 1.10.3 Test: CAST-256 GCC 4.2.1 LLVM Clang 3.1 20 40 60 80 100 89.07 105.88 1. (CXX) g++ options: -m64 -pthread -lpthread
Botan Test: X9.19-MAC OpenBenchmarking.org Mbytes/s, More Is Better Botan 1.10.3 Test: X9.19-MAC GCC 4.2.1 LLVM Clang 3.1 20 40 60 80 100 83.50 77.99 1. (CXX) g++ options: -m64 -pthread -lpthread
SciMark Computational Test: Monte Carlo OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Monte Carlo GCC 4.2.1 LLVM Clang 3.1 130 260 390 520 650 SE +/- 0.28, N = 4 SE +/- 0.36, N = 4 552.24 585.47
SciMark Computational Test: Fast Fourier Transform OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Fast Fourier Transform GCC 4.2.1 LLVM Clang 3.1 70 140 210 280 350 SE +/- 1.48, N = 4 SE +/- 1.81, N = 4 329.66 329.92
SciMark Computational Test: Sparse Matrix Multiply OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Sparse Matrix Multiply GCC 4.2.1 LLVM Clang 3.1 500 1000 1500 2000 2500 SE +/- 2.61, N = 4 SE +/- 14.73, N = 4 2175.48 2355.30
SciMark Computational Test: Dense LU Matrix Factorization OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Dense LU Matrix Factorization GCC 4.2.1 LLVM Clang 3.1 600 1200 1800 2400 3000 SE +/- 3.49, N = 4 SE +/- 5.99, N = 4 2232.78 2920.54
SciMark Computational Test: Jacobi Successive Over-Relaxation OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Jacobi Successive Over-Relaxation GCC 4.2.1 LLVM Clang 3.1 300 600 900 1200 1500 SE +/- 0.00, N = 4 SE +/- 0.81, N = 4 1114.86 1592.82
Himeno Benchmark Poisson Pressure Solver OpenBenchmarking.org MFLOPS, More Is Better Himeno Benchmark 3.0 Poisson Pressure Solver GCC 4.2.1 LLVM Clang 3.1 200 400 600 800 1000 SE +/- 6.52, N = 3 SE +/- 7.29, N = 3 792.30 891.34 1. (CC) gcc options: -O3
7-Zip Compression Compress Speed Test OpenBenchmarking.org MIPS, More Is Better 7-Zip Compression 9.20.1 Compress Speed Test GCC 4.2.1 LLVM Clang 3.1 4K 8K 12K 16K 20K SE +/- 177.11, N = 3 SE +/- 308.37, N = 6 19059 18576 1. (CXX) g++ options: -pipe -lpthread
OpenSSL RSA 4096-bit Performance OpenBenchmarking.org Signs Per Second, More Is Better OpenSSL 1.0.1c RSA 4096-bit Performance GCC 4.2.1 LLVM Clang 3.1 30 60 90 120 150 SE +/- 0.10, N = 3 SE +/- 0.09, N = 3 122.80 123.07 1. (CC) gcc options: -pthread -O3 -lssl -lcrypto
PostMark Disk Transaction Performance OpenBenchmarking.org TPS, More Is Better PostMark 1.51 Disk Transaction Performance GCC 4.2.1 LLVM Clang 3.1 80 160 240 320 400 SE +/- 2.60, N = 3 SE +/- 2.00, N = 3 390 379 1. (CC) gcc options: -O3
Timed HMMer Search Pfam Database Search OpenBenchmarking.org Seconds, Fewer Is Better Timed HMMer Search 2.3.2 Pfam Database Search GCC 4.2.1 LLVM Clang 3.1 3 6 9 12 15 SE +/- 0.31, N = 6 SE +/- 0.29, N = 6 13.05 12.70 1. (CC) gcc options: -O2 -pthread -lhmmer -lsquid -lm
Timed PHP Compilation Time To Compile OpenBenchmarking.org Seconds, Fewer Is Better Timed PHP Compilation 5.2.9 Time To Compile GCC 4.2.1 LLVM Clang 3.1 6 12 18 24 30 SE +/- 0.14, N = 3 SE +/- 0.11, N = 3 25.39 25.38 1. (CC) gcc options: -O2 -pedantic -lpthread -lz -lm
C-Ray Total Time OpenBenchmarking.org Seconds, Fewer Is Better C-Ray 1.1 Total Time GCC 4.2.1 LLVM Clang 3.1 10 20 30 40 50 SE +/- 0.08, N = 3 SE +/- 0.05, N = 3 44.47 40.52 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.2.1 LLVM Clang 3.1 80 160 240 320 400 SE +/- 0.04, N = 3 SE +/- 0.03, N = 3 92.04 372.22 -fopenmp 1. (CXX) g++ options: -O2
LAME MP3 Encoding WAV To MP3 OpenBenchmarking.org Seconds, Fewer Is Better LAME MP3 Encoding 3.99.3 WAV To MP3 GCC 4.2.1 LLVM Clang 3.1 4 8 12 16 20 SE +/- 0.11, N = 5 SE +/- 0.11, N = 5 14.90 14.94
N-Queens Elapsed Time OpenBenchmarking.org Seconds, Fewer Is Better N-Queens 1.0 Elapsed Time GCC 4.2.1 LLVM Clang 3.1 50 100 150 200 250 SE +/- 0.01, N = 3 SE +/- 0.02, N = 3 38.64 218.21 1. (CC) gcc options: -static -fopenmp -O3
Phoronix Test Suite v10.8.5