|
|
This is certainly an option (as is ccache), but it helps only a bit,
and only if you have sufficiently many nodes and decent network.
Most notably, the final linking step is not distributable, and
with tons of small compilation units you end up with quite a lot
of work for the linker (mainly reading largish .o files and
throwing away duplicated symbols)
No, it is not. But even though this, speedup from using more computers
can be significant. For example our project (pdfedit) compiled 10
minutes, of which about 30 or so secs is linking (creating 60mb
executable from about 60 mb of object files .... of those 90% are
debug data :). Rest of it is compiling (one .cc to .o took about 1 to
7 secs, there is over 100 of .cc files)
But still, those 9:30 can be reduced by parallelization. Even one
extra computer will help, as you'll cut the time almost to half. Get
20 or 30 and you compile in about a minute. And 100 mb network is
usually enough, as there is not that much data that flows thru network
during compilation - for each module it is the module source and few
headers in (= cca 100kb), one object out (=cca 600kb). Final linking
step needs 120mb of data to be put thru. Sum: 200Mb/minute of
compilation = 4.5Mb/sec. 100Mbit can handle that :)
Martin Petricek
--
To unsubscribe - send a mail to qt-interest-request@xxxxxxxxxxxxx with
"unsubscribe" in the subject or the body.
List archive and information: http://lists.trolltech.com/qt-interest/
|
|