我们正在调整我们的构建系统,它很大,并使用gnu make和g ++。我们希望运行完整版本,并了解c ++预处理花费了多少时间。有人可以提出这样做的策略吗?
答案 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
行可能不会显示。