[concurrency-interest] VarHandle.setVolatile vs classical volatile write

Aleksey Shipilev shade at redhat.com
Tue Aug 29 04:19:02 EDT 2017

On 08/29/2017 10:04 AM, Andrew Haley wrote:
> On 29/08/17 01:38, Paul Sandoz wrote:
>> Yes, you are misreading them. The units are number operations per second.
> This default is always very confusing.  I always use jcstress and
> set units to nanoseconds.  That would make a much more sensible
> default.

Living in nanobenchmarks world, I generally agree. The throughput/second was the widely agreed
default at JMH 1.0 era that focused on larger benchmarks. However, I frequently see large numbers in
JMH output as the litmus test for novice user: if submitter cannot (or did not bother to) choose the
right units for experiments, maybe submitter does not know how to operate JMH, and thus the chance
the benchmarks need more attention is much higher. :) The correlation is strong with this one...

As for benchmark mode, there are always people who would expect "larger is better", and for them
"average time" would be confusing. Been there, tried that.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://cs.oswego.edu/pipermail/concurrency-interest/attachments/20170829/b43da1e2/attachment-0001.sig>

More information about the Concurrency-interest mailing list