确定预处理所花费的时间

时间:2017-11-02 12:18:02

标签: build g++ gnu-make

我们正在调整我们的构建系统,它很大,并使用gnu make和g ++。我们希望运行完整版本,并了解c ++预处理花费了多少时间。有人可以提出这样做​​的策略吗?

1 个答案:

答案 0 :(得分:2)

g++ -ftime-report将显示预处理时间的估计值,如下所示:

$ yes 'int f();' | head -n 1000000 > t.c
$ g++ -ftime-report -c t.c

Execution times (seconds)
 phase setup             :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall    1386 kB ( 0%) ggc
 phase parsing           :   3.13 (100%) usr   2.06 (100%) sys   5.19 (100%) wall  772546 kB (100%) ggc
 |name lookup            :   0.41 (13%) usr   0.11 ( 5%) sys   0.52 (10%) wall      90 kB ( 0%) ggc
 preprocessing           :   0.46 (15%) usr   0.84 (41%) sys   1.10 (21%) wall   65548 kB ( 8%) ggc
 parser (global)         :   2.51 (80%) usr   1.19 (57%) sys   3.87 (74%) wall  706998 kB (91%) ggc
 varconst                :   0.16 ( 5%) usr   0.03 ( 1%) sys   0.22 ( 4%) wall       0 kB ( 0%) ggc
 TOTAL                 :   3.14             2.07             5.21             773943 kB

如果预处理没有明显的时间,preprocessing行可能不会显示。