From: Tim M. <ti...@se...> - 2004-11-15 21:23:36
|
On Sunday 07 Nov 2004 15:29, Martin Reinecke wrote: > Well, the main reason was that the compilation of the big translation unit > is very fast compared to separate compilation of all source files. > This is the case because each source file includes quite a lot of > large standard library headers, which dominate the compiled lines of code. > With separate compilation they need to be parsed many times. > Of course this argument is not valid if you edit only one source file and > recompile. A brief and rather unscientific investigation into the relative times convinced me that a one-off full compile is indeed much quicker when done as a single translation unit. However, it seems to me that the average user of raypp is going to compile quite a few times, as people aren't going to be using it out of the box as-is. Furthermore, it seems to me that we want to avoid wasting time during the development cycle (when you usually have nothing better to do than sit and wait for a build) even at the expense of it taking longer for people to do a one-off build. I think a reasonable compromise would be to build multiple translation units in the CVS, but possibly release tarballs with the fast compile switched on. Any thoughts? > But in this case all the dependency rules must be regenerated, > which also takes some time. Isn't that the job of make to worry about? I mean, its algorithms are impenetrable but once you get it set up there isn't a problem. > > Does anyone object to me submitting this? > > Could you please upload it as a sourceforge patch first? I didn't know this was possible. I'll have to tidy up the makefile a bit and investigate how to achieve building a sourceforge patch. Tim |