Как рассчитать время компиляции gcc? - PullRequest
14 голосов
/ 11 июня 2010

Я хочу знать время компиляции GCC. Есть ли в GCC команда или опция для расчета времени компиляции?

У меня есть файл с именем hello.c, и я скомпилирую его. Я хочу знать время, потраченное на его компиляцию.

Ответы [ 2 ]

58 голосов
/ 13 мая 2011

Чтобы получить более полную разбивку времени компиляции, чем то, что может предоставить время, вы можете использовать -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

Это будет работать на любой платформе, так как вы используете переключатель, поддерживаемый самим компилятором, а не полагаетесь на другую программу синхронизации.

20 голосов
/ 11 июня 2010

Вы можете использовать утилиту time:

$ time gcc -c hello.c

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

Вот ссылка на справочную страницу .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...