How to calculate gcc compilation time?

后端 未结 2 1025
甜味超标
甜味超标 2021-01-31 10:55

I want to know GCC compile time. Does GCC have any command or option for calculate compile time?

I have a file named hello.c and will compile it. I want to know the time

相关标签:
2条回答
  • 2021-01-31 11:22

    You can use the time utility:

    $ time gcc -c hello.c
    
    real    0m0.224s
    user    0m0.013s
    sys     0m0.010s
    

    Here's a link to the man page.

    0 讨论(0)
  • 2021-01-31 11:33

    To get a more comprehensive breakdown of compilation-time than what time can provide you can use -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
    

    This will work on any platform since you're using a switch supported by the compiler itself rather than relying on another timing program.

    0 讨论(0)
提交回复
热议问题