我想知道GCC的编译时间。 GCC是否有任何用于计算编译时间的命令或选项?
我有一个名为hello.c的文件并将其编译。我想知道编译它所花费的时间。
答案 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