Chcę poznać czas kompilacji GCC. Czy GCC ma jakieś polecenie lub opcję do obliczenia czasu kompilacji?Jak obliczyć czas kompilacji gcc?
Mam plik o nazwie hello.c i skompiluję go. Chcę poznać czas poświęcony na skompilowanie go.
Chcę poznać czas kompilacji GCC. Czy GCC ma jakieś polecenie lub opcję do obliczenia czasu kompilacji?Jak obliczyć czas kompilacji gcc?
Mam plik o nazwie hello.c i skompiluję go. Chcę poznać czas poświęcony na skompilowanie go.
Można użyć narzędzia time
:
$ time gcc -c hello.c
real 0m0.224s
user 0m0.013s
sys 0m0.010s
Oto link to the man page.
Aby uzyskać bardziej wyczerpujące zestawienie kompilacji czasie niż czas może dostarczyć można użyć -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
To będzie działać na każdej platformie, ponieważ używasz przełącznik obsługiwany przez samą raczej kompilator niż poleganie na innym programie czasowym.
czy różnica czasu wskazuje stan oczekiwania procesu? real = użytkownik + sys + czas (proces oczekiwania na procesor). próbuje zrozumieć, czy jest inny czynnik do tego? –
Czas sys to ilość czasu spędzanego w wywołaniach systemowych. Chcesz użyć "prawdziwego" czasu, jeśli chcesz wiedzieć, jak długo trwało cały proces. – jer