If we measure the mostly-idle workload, like the sleep-wait:
while (target > System.nanoTime()) Thread.sleep(1000);
...then the `-prof perfnorm` measurement would mostly contain the iteration prologs/epilogs, which take orders of magnitude more cycles than the sleep itself. This can be alleviated by using a more robust estimator in perfnorm. The estimator can filter out the "outliers" caused by infrastructural overhead.
while (target > System.nanoTime()) Thread.sleep(1000);
...then the `-prof perfnorm` measurement would mostly contain the iteration prologs/epilogs, which take orders of magnitude more cycles than the sleep itself. This can be alleviated by using a more robust estimator in perfnorm. The estimator can filter out the "outliers" caused by infrastructural overhead.
- links to
-
Review openjdk/jmh/114