On 05/09/2013 02:15 PM, David Holmes wrote: > On 9/05/2013 7:53 PM, Aleksey Shipilev wrote: >> On 05/09/2013 01:39 PM, David Holmes wrote: >>> Well the code change is easy enough to review :) >> >> Ha! Bike-shed opportunity: to use fully quailified class name in the >> annotation, or not. (I'm following the suit for j.u.c.ForkJoinPool and >> friends). >> >>> As to the effects ... no way to judge that: time and testing will tell. > ^for me >> What exactly do you mean by this? > > Only that I can't validate the utility of this from simple code > inspection. As time goes by and the code is put to the test we will find > out if there are any performance issues/surprises and if there still > lurk any hidden bugs in the @Contended implementation.
Ah, sure, that's why we have benchmarks :) There is a hidden step in this logic: we've seen how troubling false sharing can be, and so even if the microbenchmark raises the red flag, it's time to act. Also, I was watching carefully with this experiment if @Contended breaks my intuition about things. So far it is does not raise the red flags on its own. -Aleksey.