diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/JdbcDatabasePerformanceTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/JdbcDatabasePerformanceTest.java index e28e228816418a72ef3570560f9c2a5b07dc4bcd..edfe4b2f033eea8b4c2ca82e0c8a34f660f5c013 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/db/JdbcDatabasePerformanceTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/db/JdbcDatabasePerformanceTest.java @@ -243,16 +243,23 @@ public abstract class JdbcDatabasePerformanceTest extends BrambleTestCase { populateDatabase(db); db.close(); db = openDatabase(); - List<Long> durations = new ArrayList<>(MEASUREMENT_ITERATIONS); + // Measure the first run + long start = System.nanoTime(); + task.run(db); + long firstDuration = System.nanoTime() - start; + // Warm up the JIT and DB indices for (int i = 0; i < WARMUP_ITERATIONS; i++) task.run(db); + // Measure the next runs + List<Long> durations = new ArrayList<>(MEASUREMENT_ITERATIONS); for (int i = 0; i < MEASUREMENT_ITERATIONS; i++) { - long start = System.nanoTime(); + start = System.nanoTime(); task.run(db); durations.add(System.nanoTime() - start); } db.close(); - String result = String.format("%s\t%,d\t%,d\t%,d", name, - (long) getMean(durations), (long) getMedian(durations), + String result = String.format("%s\t%,d\t%,d\t%,d\t%,d", name, + firstDuration, (long) getMean(durations), + (long) getMedian(durations), (long) getStandardDeviation(durations)); System.out.println(result); PrintWriter out =