在測試的時候,經常要寫很多前後的測評**,為了利用這些**,本文編寫了乙個簡易的函式,通過這個函式的定義,可以很方便地進行效能測試。
函式的簽名為void timing(const string &testname, int (*p)(void))
,其中第1個引數為測試名稱,第2個為測試函式。測試函式的型別是無引數返回整型的函式,返回的值為資料的大小。函式的使用是對輸入的測試函式進行計時和運算速度統計。具體實現如下所示。
void
timing
(const string &testname,
int(
*p)(
void))
比如我們要進行乙個字串連線效能測試,測試**如下所示:
int
stringcontest()
;int times =
10485760
;// 1m次追加,資料長度為 10m
for(
int i =
0; i < times; i++
)return times * s1.
size()
;}
那麼在主函式中進行以下編寫即可:
int
main()
返回如下所示:
c:\users\hao\clionprojects\helloworld\cmake-build-debug\filetest.exe
----------------- string concatenation -----------------
time: 989.611 ms.
size: 320 mb
speed: 323.359 mb/s
----------------- string concatenation -----------------
time: 921.649 ms.
size: 320 mb
speed: 347.204 mb/s
----------------- string concatenation -----------------
time: 901.815 ms.
size: 320 mb
speed: 354.84 mb/s
本文定義了乙個簡易的測試函式,通過本測試函式,可以方便地對一些測試進行計時和效能測試。同時,根據實際需要可以進行相應的擴充套件。 乙個通用Makefile的編寫
我們在linux環境下開發程式,少不了要自己編寫makefile,乙個稍微大一些的工程下面都會包含很多.c的原始檔。如果我們用gcc去乙個乙個編譯每乙個原始檔的話,效率會低很多,但是如果我們可以寫乙個makefile,那麼只需要執行乙個make就ok了,這樣大大提高了開發效率。但是makefile的...
編寫乙個簡單通用的makefile
author 李超 date 2012 05 06 縱然makefile 的規則還是相當多的,編寫乙個大規模的軟體,良好的 makefile 架構是方便維護程式編譯的關鍵。學習 makefile 的時間週期還是比較長的,為了寫出規範的 需要在很短的時間內編寫乙個 makefile 這裡給給出乙個 m...
編寫乙個通用的Makefile檔案
1.1在這之前,我們需要了解程式的編譯過程 a.預處理 檢查語法錯誤,展開巨集,包含標頭檔案等 b.編譯 c s c.彙編 s o 1.2體驗在vc下程式的編譯 a.先編譯,在鏈結 b.修改了哪個檔案,就單獨編譯此檔案,在鏈結 c.修改了哪個標頭檔案,就單獨編譯使用該標頭檔案的原始檔,在鏈結 1.3...