From: Durk T. <d.t...@xs...> - 2008-07-27 16:24:02
|
Hi James, On Sunday 27 July 2008 18:06, James Turner wrote: > - header inclusion is a very very real compilation time issue, > especially for gcc since they're not shared (MSVC can do magic caching > I believe). As I have time / boredom, I'm going to start reviewing > header / source files in turn to do minimisation on their include > trees. This will basically mean removing all the includes, seeing what > breaks, and gradually adding them back in, but it's a bit more > scientific than that. The golden rule is headers should be independent > (pull in their dependencies) but minimal (not pull in anything they > don't directly need). I'm also going to see if there's places where > forward declarations in headers can replace actual includes. > You might be interested in some work done by Thomas Foerster. Thomas has done a fairly detailed analysis of the current interdependencies in FlightGear's include files. IIRC, Thomas has a patched version of FlightGear that already removes most of the interdependencies. These updates are not publicly available yet. I had agreed to review his changes and commit them, as part of one of my current FlightGear priorities, but hadn't gotten around to do so yet. Cheers, Durk |