【问题标题】:Determine time spent preprocessing确定花费在预处理上的时间
【发布时间】:2017-11-02 12:18:02
【问题描述】:

我们正在调整我们的构建系统,它很大,使用 gnu make 和 g++。我们想运行一个完整的构建并找出 c++ 预处理花费了多少时间。任何人都可以建议这样做的策略吗?

【问题讨论】:

  • 请说明您指的是 C++ 预处理器还是其他一些预处理器。

标签: build g++ gnu-make


【解决方案1】:

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 的行可能不会显示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    相关资源
    最近更新 更多