Avatar ·

Wie schreibe ich einen korrekten Micro-Benchmark in Java? Fallstricke von JIT und Optimierungen

Hallo zusammen. Ich bin ein Java-Anfänger und muss die Performance von zwei Algorithmus-Implementierungen messen: eine verwendet `ArrayList`, die andere ein normales Array. Ich habe einen einfachen Test geschrieben: ```java public class MyBenchmark { public static void main(String[] args) { long start = System.nanoTime(); for (int i = 0; i < 100000; i++) { // Code mit ArrayList List list = new ArrayList<>(); for (int j = 0; j < 1000; j++) { list.add(j); } int sum = 0; for (int val : list) { sum += val; } } long end = System.nanoTime(); System.out.println("ArrayList time: " + (end - start)); start = System.nanoTime(); ```