2014年1月18日 星期六

程式碼的剖析

前言:

這個功能讓我想起之前,也有人想要去量測程式的執行時間。不同function或不同參數間對效能的影響。

是用上了,函式庫中的timer的相關函式處理。

但事實上,在gun的工具中本身已有這部份的了。而且還幫你去分析其所佔的比例及一些必要的數值。

 

範例如下:

image

這裡在edit後"

以"gcc –o file_name –pg file_name.c”

然後在執行程式後,其結果如右,出現了gmon.out。

這時,我們用上gun tool中的gprof file_name來解讀

 

image

p.s:

這個方式本身的特性上有一些限制,比較適合複雜的程式,因為統計時間是基於"間隔計數"。所以還需要加上運行的相對時間,如果程式執行時間太短(小於0.01s),會無法得到數值。

二者,它所得的時間是去除了函式庫呼叫和系統呼叫的,純是應用程式碼的部份。