Clang - Performance

This page shows the compile time performance of Clang on two interesting benchmarks:

For previous performance numbers, please go here.

Experiments

Measurements are done by running a full build (using xcodebuild or make for Sketch and 176.gcc respectively) using Clang and gcc 4.2 as compilers; gcc is run both with and without the new clang driver (ccc) in order to evaluate the overhead of the driver itself.

In order to track the performance of various subsystems the timings have been broken down into separate stages where possible. This is done by over-riding the CC environment variable used during the build to point to one of a few simple shell scripts which may skip part of the build.

This set of stages is chosen to be approximately additive, that is each subsequent stage simply adds some additional processing. The timings measure the delta of the given stage from the previous one. For example, the timings for + syntax below show the difference of running with + syntax versus running with + parse (for clang) or + driver with gcc. This amounts to a fairly accurate measure of only the time to perform semantic analysis (and preprocessing/parsing, in the case of gcc).

Timing Results

2009-03-02

Sketch Timings 176.gcc Timings