package com.github.tkobayas.jmh.example;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.runner.Runner;
import org.openjdk.jmh.runner.RunnerException;
import org.openjdk.jmh.runner.options.Options;
import org.openjdk.jmh.runner.options.OptionsBuilder;
public class ArrayListBenchmark {
private static final int size = 100;
@Benchmark
public void withInitialSize() {
List<Integer> sizedList = new ArrayList<>( size );
for ( int i = 0; i < size; i++ ) {
sizedList.add( i );
}
}
@Benchmark
public void withoutInitialSize() {
List<Integer> defaultList = new ArrayList<>();
for ( int i = 0; i < size; i++ ) {
defaultList.add( i );
}
}
public static void main( String[] args ) throws RunnerException, IOException {
Options opt = new OptionsBuilder().include( ArrayListBenchmark.class.getSimpleName() ).warmupIterations( 5 ).measurementIterations( 5 ).forks( 2 )
.build();
new Runner( opt ).run();
}
}