RFR(S) 8246019 PerfClassTraceTime slows down VM start-up
Calvin Cheung
calvin.cheung at oracle.com
Tue Jun 16 23:02:56 UTC 2020
Hi Ioi,
The change looks good.
thanks,
Calvin
On 6/16/20 1:14 PM, Ioi Lam wrote:
> https://bugs.openjdk.java.net/browse/JDK-8246019
> http://cr.openjdk.java.net/~iklam/jdk16/8246019-avoid-PerfClassTraceTime.v01/
>
>
> PerfClassTraceTime is (a rarely used feature) for measuring the time
> spent during class linking and initialization. However, it's quite
> expensive and it needs to start and stop a bunch of timers. With CDS,
> it's quite often for the overhead of the timer itself to be much more
> than the time it's trying to measure, giving unreliable measurement.
>
> In this patch, when it's clear that the init and linking will be very
> quick, I disable the timer and count only the number of invocations.
> This shows a small improvement in start-up
>
> Results of " perf stat -r 100 bin/java -Xshare:on
> -XX:SharedArchiveFile=jdk2.jsa -Xint -version "
>
> 59623970 59341935 (-282035) ----- 41.774 41.591 ( -0.183) -
> 59623495 59331646 (-291849) ----- 41.696 41.165 ( -0.531) --
> 59627148 59329526 (-297622) ----- 41.249 41.094 ( -0.155) -
> 59612439 59340760 (-271679) ---- 41.773 40.657 ( -1.116) -----
> 59626438 59335681 (-290757) ----- 41.683 40.901 ( -0.782) ----
> 59618436 59338953 (-279483) ----- 41.861 41.249 ( -0.612) ---
> 59608782 59340173 (-268609) ---- 41.198 41.508 ( 0.310) +
> 59614612 59325177 (-289435) ----- 41.397 41.738 ( 0.341) ++
> 59615905 59344006 (-271899) ---- 41.921 40.969 ( -0.952) ----
> 59635867 59333147 (-302720) ----- 41.491 40.836 ( -0.655) ---
> ================================================
> 59620708 59336100 (-284608) ----- 41.604 41.169 ( -0.434) --
> instruction delta = -284608 -0.4774%
> time delta = -0.434 ms -1.0435%
>
> The number of PerfClassTraceTime's used is reduced from 564 to 116 (so
> we have an overhead of about 715 instructions per use, yikes!).
More information about the hotspot-runtime-dev
mailing list