如何计算gcc编译时间?

时间:2010-06-11 18:54:52

标签: c gcc

我想知道GCC的编译时间。 GCC是否有任何用于计算编译时间的命令或选项?

我有一个名为hello.c的文件并将其编译。我想知道编译它所花费的时间。

2 个答案:

答案 0 :(得分:58)

为了更全面地分析编译时间,您可以使用-ftime-report

g++ -s -O3 -ftime-report hello.c -o hello.exe

Execution times (seconds)
 callgraph construction:   0.01 ( 1%) usr     224 kB ( 1%) ggc
 callgraph optimization:   0.01 ( 1%) usr     147 kB ( 0%) ggc
 cfg cleanup           :   0.01 ( 1%) usr       8 kB ( 0%) ggc
 df live regs          :   0.02 ( 2%) usr       0 kB ( 0%) ggc
 df live&initialized regs:   0.01 ( 1%) usr       0 kB ( 0%) ggc
 alias analysis        :   0.01 ( 1%) usr      67 kB ( 0%) ggc
 preprocessing         :   0.08 (10%) usr    2869 kB ( 8%) ggc
 parser                :   0.31 (40%) usr   24239 kB (66%) ggc
 name lookup           :   0.06 ( 7%) usr    3086 kB ( 8%) ggc
 inline heuristics     :   0.01 ( 1%) usr      16 kB ( 0%) ggc
 integration           :   0.01 ( 1%) usr    1499 kB ( 4%) ggc
 tree gimplify         :   0.01 ( 1%) usr     422 kB ( 1%) ggc
 tree CFG cleanup      :   0.01 ( 1%) usr      12 kB ( 0%) ggc
 tree VRP              :   0.01 ( 1%) usr     146 kB ( 0%) ggc
 tree PTA              :   0.01 ( 1%) usr      66 kB ( 0%) ggc
 tree SSA rewrite      :   0.01 ( 1%) usr     159 kB ( 0%) ggc
 tree SSA incremental  :   0.01 ( 1%) usr      35 kB ( 0%) ggc
 tree operand scan     :   0.01 ( 1%) usr     628 kB ( 2%) ggc
 tree PRE              :   0.02 ( 3%) usr     101 kB ( 0%) ggc
 tree FRE              :   0.01 ( 1%) usr      25 kB ( 0%) ggc
 dominance computation :   0.01 ( 1%) usr       0 kB ( 0%) ggc
 expand                :   0.03 ( 4%) usr     528 kB ( 1%) ggc
 CSE                   :   0.01 ( 1%) usr       8 kB ( 0%) ggc
 CSE 2                 :   0.01 ( 1%) usr       6 kB ( 0%) ggc
 branch prediction     :   0.01 ( 1%) usr      67 kB ( 0%) ggc
 combiner              :   0.01 ( 1%) usr      48 kB ( 0%) ggc
 integrated RA         :   0.02 ( 2%) usr      53 kB ( 0%) ggc
 reload                :   0.01 ( 2%) usr     114 kB ( 0%) ggc
 reload CSE regs       :   0.01 ( 1%) usr      95 kB ( 0%) ggc
 final                 :   0.01 ( 1%) usr       3 kB ( 0%) ggc
 TOTAL                 :   0.79             36953 kB

这将适用于任何平台,因为您使用的是编译器本身支持的交换机,而不是依赖于其他计时程序。

答案 1 :(得分:20)

您可以使用time实用程序:

$ time gcc -c hello.c

real    0m0.224s
user    0m0.013s
sys     0m0.010s

这是link to the man page