From: Simon Wright <simon@pushface.org>
Subject: Re: How to cache output of the compiler aka ccache
Date: 18 Mar 2005 19:22:00 +0000
Date: 2005-03-18T19:22:00+00:00 [thread overview]
Message-ID: <x7vekeciwtj.fsf@smaug.pushface.org> (raw)
In-Reply-To: 877jk65a2f.fsf@insalien.org
Ludovic Brenta <ludovic.brenta@insalien.org> writes:
> and "gnatmake -m" does minimal
> recompilation. This really speeds things up.
We absolutely rely on this; the handwritten code is in separate proper
bodies, 99% of specs and package bodies are generated, and the only
way to change them is to change the model and re-generate.
One thing to watch out for is that when deciding whether a unit needs
to be recompiled GNAT first checks the timestamp of each dependency;
it the timestamp is different it checks the contents of the dependency
and only recompiles if there's a semantic difference.
So recreating lots of identical source will mean that the dependencies
have to be at least parsed. This can take quite a time (I think mainly
the overhead of opening/closing the files).
We had an interesting bug with 3.16a1 on Windows where compilations
ran slower if the compiler had been installed in the winter months
(outside daylight saving time) -- a feature involving the Windows
installer, I think; the timestamps in the library were all one hour
out.
--
Simon Wright 100% Ada, no bugs.
next prev parent reply other threads:[~2005-03-18 19:22 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-17 18:54 How to cache output of the compiler aka ccache i-google-iasuhdkajsh
2005-03-17 19:40 ` Robert A Duff
2005-03-17 20:04 ` Ludovic Brenta
2005-03-17 21:27 ` Marius Amado Alves
2005-03-18 1:24 ` Ludovic Brenta
2005-03-18 2:08 ` Robert A Duff
2005-03-17 19:47 ` Ludovic Brenta
2005-03-18 19:22 ` Simon Wright [this message]
2005-03-18 20:04 ` Randy Brukardt
2005-03-18 22:10 ` Florian Weimer
2005-03-19 3:25 ` Larry Kilgallen
2005-03-18 6:58 ` i-google-iasuhdkajsh
2005-03-18 13:33 ` Robert A Duff
2005-03-18 14:01 ` Vinzent 'Gadget' Hoefler
2005-03-18 14:41 ` Florian Weimer
2005-03-18 15:08 ` Vinzent 'Gadget' Hoefler
2005-03-18 16:24 ` Florian Weimer
2005-03-21 8:16 ` Vinzent 'Gadget' Hoefler
2005-03-21 8:54 ` Florian Weimer
2005-03-21 11:26 ` Vinzent 'Gadget' Hoefler
2005-03-18 8:07 ` Martin Krischik
2005-03-18 18:50 ` i-google-iasuhdkajsh
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox