Jonas Maebe schrieb: > > On 06 Jan 2010, at 13:04, Florian Klaempfl wrote: > >> Jonas Maebe schrieb: >>> >>> Another reason is probably to speed up the compilation: >>> * (re)compiling huge source files can be slow and/or require lots of >>> memory, depending on the used compiler (and debug information or >>> optimization settings) >> >> For single class c++ files, imo most of the time is spent into reading >> the huge headers which are often even not needed and a complete mess >> because nobody has an overview which classes are used and which not. > > It depends. Since these compilers only see whatever is in the current > source file (and its header files), putting more code in the same source > file can significantly slow down interprocedural optimizations (as soon > as one algorithm with quadratic complexity is involved). And inlining > can significantly increase the complexity of single routines as well, > making stuff such as register allocation much slower :)
On the other hand keeping things in different files avoids these optimizations. And being honest: I think using a debug switch set without any optimization and with maximum checks and fast compilation should be used for developer builds while wpo, inlining etc. is switched on during relese builds. _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel