Aby napisać dobry test testu porównawczego, trzeba go uruchomić kilka tysięcy (milionów) razy. Zrównuje (w większości przypadków) wpływ innych programów.Jak przeprowadzić dobry test porównawczy wydajności?
Ale jeśli JVM może mieć wpływ na wyniki. Na przykład:
Pierwsze rozwiązanie jest:
final StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(getStrOne());
stringBuilder.append(getStrTwo());
final String result1 = stringBuilder.toString();
I drugie:
final String result2 = getStrOne() + getStrTwo();
Nie wiem, który z nich jest lepszy, ponieważ JVM może wpływać na wyniki. Jak się dowiedzieć, który z nich jest lepszy?
UPDATE: Nie mam na myśli dokładnie , że dołącza test komparacji. Pytam o taką trudną do przetestowania sytuację .
Co masz na myśli, jeśli JVM może wpłynąć na wyniki? – ddmps
Drugi zostanie przekonwertowany na 'final String result2 =" str1str2 ";' przez kompilator ... – assylias
@Pescis Na przykład buforowanie. –