我想測試我用C++編寫的算法的性能。我使用我的大學計算集羣(通過SGE)基準測試:得到算法用戶時間
問題是,我不知道什麼時候服務器已滿或沒有其他計算,所以我不能測量有效的用戶時間(我假設它只要過程是如此繁忙或不改不行,我錯了?)
是不是usertime用於計算和比較算法之間的時間表現的時間?因爲我沒有得到相同的結果爲相同的執行
我想測試我用C++編寫的算法的性能。我使用我的大學計算集羣(通過SGE)基準測試:得到算法用戶時間
問題是,我不知道什麼時候服務器已滿或沒有其他計算,所以我不能測量有效的用戶時間(我假設它只要過程是如此繁忙或不改不行,我錯了?)
是不是usertime用於計算和比較算法之間的時間表現的時間?因爲我沒有得到相同的結果爲相同的執行
爲了比較的性能指標,你真的想通過是噪聲削減「用戶的時間。」那裏有很多好的profiling tools。你可以看看你的大學是否有其中一個供你使用。
如果你在一個分時算法的運行時間將有所不同運行運行。
你有沒有嘗試過的外殼time
命令?
time [MY PROGRAM]
或者,有關更多信息,請參閱GNU Time命令?
/usr/bin/time <MY PROGRAM> [ARGS]
這些命令將是一個很容易開始的地方,並會爲您提供一些您需要的信息。
另外,你提到集羣,也許你正在使用MPI或一個框架?也許這個框架有一些內置的時序命令(我不確定這樣的事情是否存在,但可能值得研究)。
SGE在我的情況做一個簡單的工作,它會影響作業較少使用的節點,我沒有使用任何框架。時間命令的所有輸出都根據系統負載而變化 – sohaibafifi
您可以編寫小型標準測試。該測試將代表「1」。 然後你的複雜應用程序將被相對測量。例如,您的應用程序將需要4次標準測試。 您需要同時運行標準測試和應用程序。
我不得不MESURE及時表現,因爲我需要公佈結果爲期刊文章 – sohaibafifi