2011-10-16 53 views

回答

4

我知道你在想什麼 - 如果一種算法可以比另一種算法更有效地進行優化,優化會扭曲結果。但讓我建議優化是答案的一部分。如果我有兩種路徑查找算法,那麼爲什麼我不喜歡那些能夠在其執行環境中更好地編譯優化的算法呢?設計更好的優化算法是設計更好算法的一部分,不是嗎?

我知道我沒有真正回答你的問題,但我am暗示優化的效果是你試圖測量的時間結果的一部分。

+0

問題是如果你試圖比較「根」算法本身,優化可能會扭曲結果。 IRL,我完全同意,但出於研究的目的,你想盡可能多地去除影響。 –

0

要在100%解釋模式下運行Java程序,您可以在命令行上指定-Xint。爲了使JIT的行爲更具確定性,請使用-Xbatch標誌。

-Xbatch 

禁用後臺編譯。通常情況下,虛擬機將編譯 方法作爲後臺任務,在解釋器模式下運行該方法 ,直到後臺編譯完成。 -Xbatch標誌 禁用後臺編譯,以便編譯所有方法 作爲前臺任務繼續執行直至完成。

原則上,我同意Steve J的上述回答 - 但是 - 您可能希望收集有關未優化代碼的信息以供比較。