Next: , Previous: Define a build environment, Up: Aggregate Projects


5.7.4 Performance improvements in builder

The loading of aggregate projects is optimized in `gprbuild', so that all files are searched for only once on the disk (thus reducing the number of system calls and contributing to faster compilation times, especially on systems with sources on remote servers). As part of the loading, `gprbuild' computes how and where a source file should be compiled, and even if it is found several times in the aggregated projects it will be compiled only once.

Since there is no ambiguity as to which switches should be used, files can be compiled in parallel (through the usual -j switch) and this can be done while maximizing the use of CPUs (compared to launching multiple `gprbuild' and `gnatmake' commands in parallel).