Advertisement
Guest User

JMH microbenchmark

a guest
Aug 17th, 2015
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.63 KB | None | 0 0
  1. import org.openjdk.jmh.annotations.Benchmark;
  2. import org.openjdk.jmh.annotations.OutputTimeUnit;
  3. import org.openjdk.jmh.annotations.Scope;
  4. import org.openjdk.jmh.annotations.State;
  5. import org.openjdk.jmh.runner.Runner;
  6. import org.openjdk.jmh.runner.RunnerException;
  7. import org.openjdk.jmh.runner.options.Options;
  8. import org.openjdk.jmh.runner.options.OptionsBuilder;
  9.  
  10. import java.util.concurrent.TimeUnit;
  11.  
  12. @State(Scope.Thread)
  13.  
  14. @OutputTimeUnit(TimeUnit.NANOSECONDS)
  15. public class ListTest {
  16.     public java.util.List<String> list = new java.util.ArrayList<String>(){{
  17.         add("1");
  18.         add("2");
  19.         add("3");
  20.     }};
  21.  
  22.     public java.util.ArrayList<String> arrayList = new java.util.ArrayList<String>(){{
  23.         add("1");
  24.         add("2");
  25.         add("3");
  26.     }};
  27.  
  28.     public final java.util.ArrayList<String> finalArrayList = new java.util.ArrayList<String>(){{
  29.         add("1");
  30.         add("2");
  31.         add("3");
  32.     }};
  33.  
  34.     private java.util.ArrayList<String> privateArrayList = new java.util.ArrayList<String>(){{
  35.         add("1");
  36.         add("2");
  37.         add("3");
  38.     }};
  39.  
  40.  
  41.     @Benchmark
  42.     public String measureList() {
  43.         return list.get(1);
  44.     }
  45.  
  46.  
  47.     @Benchmark
  48.     public String measureArrayList() {
  49.         return arrayList.get(1);
  50.     }
  51.  
  52.     @Benchmark
  53.     public String measureFinalArrayList() {
  54.         return finalArrayList.get(1);
  55.     }
  56.  
  57.     @Benchmark
  58.     public String measurePrivateArrayList() {
  59.         return privateArrayList.get(1);
  60.     }
  61.  
  62.  
  63.     public static void main(String[] args) throws RunnerException {
  64.         Options opt = new OptionsBuilder()
  65.             .include(ListTest.class.getSimpleName())
  66.             .warmupIterations(5)
  67.             .measurementIterations(5)
  68.             .forks(1)
  69.             .build();
  70.  
  71.         new Runner(opt).run();
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement