2010-06-11 15 views
11

Desidero conoscere il tempo di compilazione GCC. GCC ha qualche comando o opzione per calcolare il tempo di compilazione?Come calcolare il tempo di compilazione di gcc?

Ho un file denominato hello.c e lo compilerò. Voglio sapere il tempo impiegato per compilarlo.

risposta

18

È possibile utilizzare l'utility time:

$ time gcc -c hello.c 

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

Ecco un link to the man page.

+0

indica la differenza di tempo indica lo stato di attesa del processo? real = user + sys + time (processo in attesa della CPU). cercando di capire se c'è un altro fattore ad esso? –

+2

tempo di sistema è solo quanto tempo è trascorso nelle chiamate di sistema. Si desidera utilizzare il tempo "reale" se si desidera sapere per quanto tempo l'intero processo ha avuto luogo. – jer

53

Per ottenere una ripartizione più completa di compilazione in tempo di quello che ora in grado di fornire è possibile utilizzare -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 

questo funzionerà su qualsiasi piattaforma dal momento che si sta utilizzando uno switch supportato dal compilatore stesso piuttosto che fare affidamento su un altro programma di cronometraggio.

Problemi correlati