2010-06-11 64 views
11

我想知道GCC编译时间。 GCC是否有任何命令或选项来计算编译时间?如何计算gcc编译时间?

我有一个名为hello.c的文件,它会编译它。我想知道花费在编译它的时间。

回答

18

可以使用time实用程序:

$ time gcc -c hello.c 

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

这里有一个link to the man page

+0

在时间上的差异是否表示进程的等待状态? real = user + sys + time(进程正在等待CPU)。 试图了解是否有其他因素呢? – 2010-06-11 18:59:27

+2

系统时间就是在系统调用中花费了多少时间。如果你想知道整个过程需要多长时间,你想要使用“真实”的时间。 – jer 2010-06-11 19:01:37

53

要获得的编译时间更全面的故障比什么时候都提供您可以使用-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 

这将在任何平台上工作,因为你使用编译器本身,而支持的开关比依靠另一个计时程序。