Below are some benchmarking numbers for:
#include <Carbon.h>
int i;
as the test case. The compilers used were checking -O2 style
compilers.
The first number is the time for 5 compiles on one command line, the
second number, for one compile on the command line. The below says
that for normal C compiles, having 5 on a line is 1.7% faster than 5
separate compiles. For C++, it is 0.5% faster.
For the compile server numbers, the server is started fresh for a 1
unit on the command line compile, and reused for the 5 unit run.
Again the times given are for these two runs. For a C server run, it
is 6.3x faster when reusing 5 units. For C++, it is 77.9x faster when
reusing.
And then we see times for compiling 50 units on a command line. And
at the end, we see that for C++, hot compiles are around 142x faster.
Normal C compile:
9.011/1.833
4.91598472449536279323
5/4.91598472449536279323
1.01709022306070358450 x faster with 5 on same line
For a normal C++ compile:
13.219/2.658
4.97328818660647103085
5/4.97328818660647103085
1.00537105681216430894 x faster with 5 on same line
For a C compile server:
1.464/1.857
.78836833602584814216
5/0.78836833602584814216
6.34221311475409836069 x faster with 5 on same line (total reuse)
For a C++ compile server:
0.169/2.632
.06420972644376899696
5/0.06420972644376899696
77.86982248520710059230 x faster with 5 on same line (total reuse)
C++ compile server speedup is
12.27802047585817935018 x faster than C compile server speedup.
Time for 50 C hot compile server compiles:
41.680
Time for 50 C++ hot compile server compiles:
0.930
C++ compile server is
41.680/0.930
44.81720430107526881720 x faster than C compile server.
For C, the server is around
9.011/5/(41.680/50)
2.16194817658349328214 x faster than a normal compile.
For C++, the server is around
13.219/5/(0.930/50)
142.13978494623655913978 x faster than a normal compile.