@Benchmark public void atomicIntFieldCASSuccess(VolatileIntFieldState state, Times repeat, Blackhole bh) { state.value = 0; for (int i = 0; i < repeat.times; i++) { bh.consume(VolatileIntFieldState.UPDATER.compareAndSet(state, i, i + 1)); } }
@Benchmark public void atomicIntFieldGetAndIncrement( VolatileIntFieldState state, Times repeat, Blackhole bh) { for (int i = 0; i < repeat.times; i++) { bh.consume(VolatileIntFieldState.UPDATER.getAndIncrement(state)); } }
@Benchmark public void atomicIntFieldCASFailure(VolatileIntFieldState state, Times repeat, Blackhole bh) { for (int i = 0; i < repeat.times; i++) { bh.consume(VolatileIntFieldState.UPDATER.compareAndSet(state, 1, 2)); } }
@Benchmark public void atomicIntFieldLazySet(VolatileIntFieldState state, Times repeat, Blackhole bh) { for (int i = 0; i < repeat.times; i++) { VolatileIntFieldState.UPDATER.lazySet(state, 1); } }