This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: reduce compilation times?


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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]