2012-12-10 26 views
1

我想測試我用C++編寫的算法的性能。我使用我的大學計算集羣(通過SGE)基準測試:得到算法用戶時間

問題是,我不知道什麼時候服務器已滿或沒有其他計算,所以我不能測量有效的用戶時間(我假設它只要過程是如此繁忙或不改不行,我錯了?)

是不是usertime用於計算和比較算法之間的時間表現的時間?因爲我沒有得到相同的結果爲相同的執行

回答

0

爲了比較的性能指標,你真的想通過是噪聲削減「用戶的時間。」那裏有很多好的profiling tools。你可以看看你的大學是否有其中一個供你使用。

+0

我不得不MESURE及時表現,因爲我需要公佈結果爲期刊文章 – sohaibafifi

1

如果你在一個分時算法的運行時間將有所不同運行運行。

你有沒有嘗試過的外殼time命令?

time [MY PROGRAM] 

或者,有關更多信息,請參閱GNU Time命令?

/usr/bin/time <MY PROGRAM> [ARGS] 

這些命令將是一個很容易開始的地方,並會爲您提供一些您需要的信息。

另外,你提到集羣,也許你正在使用MPI或一個框架?也許這個框架有一些內置的時序命令(我不確定這樣的事情是否存在,但可能值得研究)。

+0

SGE在我的情況做一個簡單的工作,它會影響作業較少使用的節點,我沒有使用任何框架。時間命令的所有輸出都根據系統負載而變化 – sohaibafifi

0

您可以編寫小型標準測試。該測試將代表「1」。 然後你的複雜應用程序將被相對測量。例如,您的應用程序將需要4​​次標準測試。 您需要同時運行標準測試和應用程序。