2011-04-25 14 views
1

我啓動了一個分佈式計算項目,有點像各種@home項目(儘管不是簡單的科學計算,而是偶爾讓遠程用戶參與到音頻和視覺刺激演示的任務中),我需要了解運行我的應用程序的機器之間的相對系統性能,這樣我就可以將數據從非常低的機器中排除(因爲這些機器可能沒有忠實地呈現刺激)。該應用程序是用python編寫的,我發現pystone模塊提供了各種基準,但是我也看到pystone在某些情況下被作爲基準貶低。對於我對基準測試相對新手的理解,pystone可能不適合進行一般基準測試,因爲它將性能降至單一分數,但對於我所希望的只是單個分數來跨機器比較的我而言,我認爲它應該足夠了。我錯過了使用pystone獲取相對整體系統性能的缺點嗎?反對使用pystone來估計整個多系統相對系統性能的爭論是什麼?

回答

4

Pystone作爲基準的任何東西(無論是Python解釋器版本還是底層硬件)的主要問題在於它只是沒有充分運用計算環境的不同方面。整數算術,浮點運算,矢量運算,專用介質硬件,內存吞吐量,I/O吞吐量,緩存大小,線程體系結構,流水線體系結構...不同機器之間可能有所不同的硬件功能列表不斷涌現,並且是第一個問題回答「哪個更快,A或B?」的最大原因通常會是「那麼,你打算如何使用它們?」。速度問題的答案可能會有所不同,具體取決於您是在構建家庭媒體中心還是Web服務器或數據庫服務器等。

現代計算機系統是複雜的野獸,並且解釋器虛擬擁有自己複雜對象和頂級執行模型的機器不會讓事情變得更容易。像Pystone這樣一個天真的基準測試可以讓你瞭解CPU的基本計算咕嚕聲的一般概念,但不會告訴你任何關於該機器的其他潛在限制因素。