package examples.benchmarking;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.junit.Test;
import uk.co.acuminous.julez.scenario.BaseScenario;
import uk.co.acuminous.julez.scenario.Scenario;
public class JodaTimeBenchmarkTest extends BenchmarkTestCase {
private final int repetitions = 1000000;
@Test
public void benchmarkConstruction() {
benchmark(new BaseScenario() {
@Override public void run() {
new DateTime();
}
});
System.out.println(String.format("%d x new DateTime() took %dms", repetitions, durationMonitor.getDuration()));
}
@Test
public void benchmarkRolling() {
benchmark(new BaseScenario() {
private DateTime dateTime = new DateTime(DateTimeZone.forID("Europe/London"));
@Override public void run() {
dateTime = dateTime.plusDays(10);
}
});
System.out.println(String.format("%d x dateTime = dateTime.plusDays(10) took %dms", repetitions, durationMonitor.getDuration()));
}
private void benchmark(Scenario scenario) {
benchmark(scenario, repetitions);
}
}