< prev index next >

test/micro/org/openjdk/bench/java/util/concurrent/CopyOnWriteArrayListBenchmark.java

Print this page

 50 @Warmup(iterations = 3, time = 1, timeUnit = TimeUnit.SECONDS)
 51 @Measurement(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS)
 52 public class CopyOnWriteArrayListBenchmark {
 53 
 54     private static byte[] getSerializedBytes(CopyOnWriteArrayList<?> list) throws IOException {
 55         ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
 56         ObjectOutputStream objectOut = new ObjectOutputStream(bytesOut);
 57         objectOut.writeObject(list);
 58 
 59         objectOut.close();
 60         return bytesOut.toByteArray();
 61     }
 62 
 63     private Collection<Object> emptyCollection = new ArrayList<>();
 64     private Object[] emptyArray = new Object[0];
 65 
 66     private Collection<Object> oneItemCollection = Arrays.asList("");
 67     private Object[] oneItemArray = new Object[] { "" };
 68 
 69     private CopyOnWriteArrayList<?> emptyInstance = new CopyOnWriteArrayList<>();

 70     private CopyOnWriteArrayList<?> oneItemInstance = new CopyOnWriteArrayList<>(oneItemArray);
 71 
 72     private byte[] emptyInstanceBytes;
 73     private byte[] oneInstanceBytes;
 74 

 75     public CopyOnWriteArrayListBenchmark() {
 76         try {
 77             emptyInstanceBytes = getSerializedBytes(emptyInstance);
 78             oneInstanceBytes = getSerializedBytes(oneItemInstance);
 79         } catch (IOException e) {
 80             throw new RuntimeException(e);
 81         }
 82     }
 83 
 84     @Benchmark
 85     public void clear() {
 86         // have to create a new instance on each execution
 87         ((CopyOnWriteArrayList<?>) oneItemInstance.clone()).clear();
 88     }
 89 
 90     @Benchmark
 91     public void clearEmpty() {
 92         emptyInstance.clear();
 93     }
 94 

 50 @Warmup(iterations = 3, time = 1, timeUnit = TimeUnit.SECONDS)
 51 @Measurement(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS)
 52 public class CopyOnWriteArrayListBenchmark {
 53 
 54     private static byte[] getSerializedBytes(CopyOnWriteArrayList<?> list) throws IOException {
 55         ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
 56         ObjectOutputStream objectOut = new ObjectOutputStream(bytesOut);
 57         objectOut.writeObject(list);
 58 
 59         objectOut.close();
 60         return bytesOut.toByteArray();
 61     }
 62 
 63     private Collection<Object> emptyCollection = new ArrayList<>();
 64     private Object[] emptyArray = new Object[0];
 65 
 66     private Collection<Object> oneItemCollection = Arrays.asList("");
 67     private Object[] oneItemArray = new Object[] { "" };
 68 
 69     private CopyOnWriteArrayList<?> emptyInstance = new CopyOnWriteArrayList<>();
 70     @SuppressWarnings("initialization")
 71     private CopyOnWriteArrayList<?> oneItemInstance = new CopyOnWriteArrayList<>(oneItemArray);
 72 
 73     private byte[] emptyInstanceBytes;
 74     private byte[] oneInstanceBytes;
 75 
 76     @SuppressWarnings("initialization")
 77     public CopyOnWriteArrayListBenchmark() {
 78         try {
 79             emptyInstanceBytes = getSerializedBytes(emptyInstance);
 80             oneInstanceBytes = getSerializedBytes(oneItemInstance);
 81         } catch (IOException e) {
 82             throw new RuntimeException(e);
 83         }
 84     }
 85 
 86     @Benchmark
 87     public void clear() {
 88         // have to create a new instance on each execution
 89         ((CopyOnWriteArrayList<?>) oneItemInstance.clone()).clear();
 90     }
 91 
 92     @Benchmark
 93     public void clearEmpty() {
 94         emptyInstance.clear();
 95     }
 96 
< prev index next >