You should start by rewriting this as a JMH benchmark.

System.nanoTime based benchmarks are incredibly difficult to write without
error & it is far too easy to be misled or suffer from confirmation bias of
one form or another.

As it stands, you haven't unequivocally demonstrated anything - sorry.

Ben

On 29 Apr 2017 15:56, "J Crawford" <[email protected]> wrote:

> The mystery boils down to:
>
>     "*The exact same block of code becomes slower after a busy spin
> pause.*"
>
> I posted a short source code that *unequivocally* proves and demonstrates
> the problem: http://stackoverflow.com/questions/43696948/why-
> does-the-jvm-show-more-latency-for-the-same-block-of-
> code-after-a-busy-spin
>
> Note that I'm not using Thread.sleep. Also note that there are no
> conditionals leading to a HotSpot/JIT de-optimization as I'm changing the
> pause using a math operation instead of an IF.
>
> The story told by the short source code is:
>
> - There is a block of math operations that I want to time.
> - First I time the block pausing 1 nanosecond before I start my
> measurement. I do that 20,000 times.
> - Then I change the pause from 1 nanosecond to 5 seconds and proceed to
> measure the latency as usual. I do that 15 times.
> - Then I print the last 30 measurements, so you can see 15 measurements
> with the pause of 1 nanosecond and 15 measurements with the pause of 5
> seconds.
>
> As you can see below, *the discrepancy is big, *especially in the very
> first measurement after the pause change. *Why is that!?*
>
> $ java -server -cp . JvmPauseLatency
> Sat Apr 29 10:34:28 EDT 2017 => Please wait 75 seconds for the results...
> Sat Apr 29 10:35:43 EDT 2017 => Calculation: 4.0042328611017236E11
> Results:
> 215
> 214
> 215
> 214
> 215
> 214
> 217
> 215
> 216
> 214
> 216
> 213
> 215
> 214
> 215
> *2343* <----- FIRST MEASUREMENT AFTER PAUSE CHANGE
> 795
> 727
> 942
> 778
> 765
> 856
> 762
> 801
> 708
> 692
> 765
> 776
> 780
> 754
>
> Thanks!
>
> -JC
>
> --
> You received this message because you are subscribed to the Google Groups
> "mechanical-sympathy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to