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.