FreeBSD Compiler Benchmark: gcc-base vs. gcc-ports vs. clang

Martin Matuska mm at FreeBSD.org
Thu Mar 10 21:33:40 UTC 2011


Hi everyone,

we have performed a benchmark of the perl binary compiled with base gcc,
ports gcc and ports clang using the perlbench benchmark suite.
Our benchmark was performed solely on amd64 with 10 different processors
and we have tried different -march= flags to compare binary performance
of the same compiler with different flags.

Here is some statistics from the results:
- clang falls 10% behind the base gcc 4.2.1 (test average)
- gcc 4.5 from ports gives 5-10% better average performance than the
base gcc 4.2.1
- 4% average penalty for Intel Atom and -march=nocona (using gcc from base)
- core i7 class processors run best with -march=nocona (using gcc from base)

This benchmark speaks only for perl, but it tests quite a lot of
"generic" features so we a are seriously considering using ports gcc for
heavily used ports (e.g. PHP, MySQL, PostgreSQL) and suggesting that an
user should be provided with a easily settable choice of using gcc 4.5
for ports.

A first step in this direction is in this PR (allowing build-only
dependency on GCC):
http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/155408

More information, detailed test results and test configuration are at
our blog:
http://blog.vx.sk/archives/25-FreeBSD-Compiler-Benchmark-gcc-base-vs-gcc-ports-vs-clang.html


More information about the freebsd-performance mailing list