AUTOGEN: Configuration Performance regression in 3.13
After updating CMake to the current 3.13.4 I found a rather big slowdown in the CMake run on our main repository (ca 3800 targets in ca 900 files). I've tried to bisect in which version this started and I found that it was introduced with 3.13.0
. 3.12.4
is running way faster.
I did some measurements:
CMake Version | Step 1: | Step 2: | Step 3: | Overall |
---|---|---|---|---|
cmake 3.10.0 | 00:00:08 | 00:00:17 | 00:00:11 | 00:00:36 |
cmake 3.12.4 | 00:00:07 | 00:00:16 | 00:00:10 | 00:00:33 |
cmake 3.13.0 | 00:00:07 | 00:00:38 | 00:00:17 | 00:01:02 |
cmake 3.13.4 | 00:00:07 | 00:00:49 | 00:00:18 | 00:01:14 |
cmake 3.14.0-rc1 | 00:00:07 | 00:00:48 | 00:00:16 | 00:01:11 |
cmake 3.14.0-rc2 | 00:00:08 | 00:00:45 | 00:00:17 | 00:01:10 |
cmake -G Ninja ../svn --debug-output 2>&1| ts
- Step 1 is from Start till "Configuring done"
- Step 2 is from "-- Configuring done" to "-- Generating <BUILD_DIR>"
- Step 3 is from "-- Generating <BUILD_DIR>" to Finish
It seems that all the time is lost after the Configuration Step and before the writing of build files starts.
It is not specific to the Ninja Generator, but even more for he "Unix Makefiles" Generator.
Is there a way to give you more information?
Edited by Brad King