要編寫一個好的比較測試測試,您必須運行數千(百萬)次。它將平衡(在大多數情況下)其他計劃的影響力。如何執行良好的性能比較測試?
但是,如果一個JVM可以影響結果。例如:
首先解決方法是:
final StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(getStrOne());
stringBuilder.append(getStrTwo());
final String result1 = stringBuilder.toString();
其次是:
final String result2 = getStrOne() + getStrTwo();
我不知道哪一個更好,因爲JVM可以對結果的影響。如何知道哪一個更好?
UPDATE:我並不是指完全那追加comporation測試。我在問這樣的很難測試情況。
你的意思是JVM可以影響結果嗎? – ddmps 2013-03-08 12:56:40
第二個將被編譯器轉換爲'final String result2 =「str1str2」;' – assylias 2013-03-08 12:57:17
@Pescis例如緩存。 – 2013-03-08 12:58:25