reduce compilation times?

Sven Eschenberg eschenb@cs.uni-frankfurt.de
Tue Nov 27 18:51:00 GMT 2007


I am not sure about ccache, but I thought it does some file and 
preprocessing caching (not exactly sure, how it works, I thought, it 
kinda gets called instead of the preprocessor or at least before the PP).

Anyway, what I meant: Compiling a package like firefox, glibc etc. with 
ccache gives you some speed increase, but it is small compared to 
uncompressing the source directly into a ram disk and build everything 
in there.

Combining both didn't seem to give additional reproduceable benefit, but 
I gotta admit, never tried to put ccache's data into a ramdisk too, 
since I don't have enough ram for that on sufficently big enough packages.
If -j2 speeds things, it's mostly because of the kernel's scheduling, I 
assume.

The only box I got left, which is Uniprocessore and doesn't have 
HT/Multiple cores didn't really compile faster with -j2 - Then again it 
is a server, which has a certain minor load anyway all the time,
that's why I assume -j2 on Uniprocessor only benefits from scheduling 
strategies.

Regards

-Sven

P.S.: Of course having properly factorized code with reasonable 
filesizes is the first step, makes the whole project more structured and 
manageable (imho)



Andrew Haley schrieb:
> Sven Eschenberg writes:
>
>  > Aside from using -j on HT/Mulitcore/Multi-CPU Systems and ccache it
>  > might help to put the sourcecode into a ramdisk for compilation (no
>  > ccache needd then), or at least the build directory, for all the
>  > temporary stuff.
>
> I don't think that ccache does what you think it does.  As long as you
> have plenty of RAM "make -j2" tends to speed things up even on a
> uniprocessor, but not by a huge amount.
>
> Andrew.
>
>   



More information about the Gcc-help mailing list