Reduce compilation time of the QC project#219
Conversation
1dea1e1 to
68d6d43
Compare
|
After the first round, which involved adding headers which before were used indirectly, deleting the unnecessary ones and using the correct inclusion type ("" or <>), these are the results: |
|
After forward declarations and moving some function definitions to source files: |
|
I tried it on aido2qc10 (Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz, 32 CPUs, 128GB RAM): 68d6d43 (deleting unnecessary headers and adding ones which were previously dangerously transient): 649d280 (forward declarations in the Framework, current progress): Now the improvements are quite evident and coherent for different number of jobs specified, so I would blame the previous decreases on that test setup (a PC, IDE and browser open). |
|
7009614 (more forward declarations in Framework and header cleanup in tests): |
The influence of the changes in Modules was minimal. |
A slight improvement by using |
|
Conflicts: Framework/src/runQC.cxx
|
Overall, we have 12% improvement for Travis fails because of: I have applied clang-format to the PR, other builds are passing. Merging. |
Starting off from #180 as a point of reference, to avoid too much work when merging changes. The compilation time measurements are done on a machine with Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz (4 CPUs, 1 thread per core) and 8GB of memory.
The results for the version with no changes (3 times each, to see how random it can get):