RFR(S) 8246019 PerfClassTraceTime slows down VM start-up
Ioi Lam
ioi.lam at oracle.com
Tue Jun 16 23:54:03 UTC 2020
Thanks Yumin!
- Ioi
On 6/16/20 4:44 PM, Yumin Qi wrote:
> Looks good to me.
>
>
> Thanks
>
> Yumin
>
>
> 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