RFR: 8332457: Examine startup overheads from JDK-8294961 [v13]
Claes Redestad
redestad at openjdk.org
Mon Jun 3 10:33:03 UTC 2024
On Mon, 3 Jun 2024 10:11:34 GMT, Adam Sotona <asotona at openjdk.org> wrote:
>> [JDK-8294961](https://bugs.openjdk.org/browse/JDK-8294961) changed to use classfile API for reflection proxy-generation. Actual implementation of `ProxyGenerator` is focused on performance, however it causes JDK bootstrap regressions. `ProxyGenerator.TEMPLATE` class model is statically created and each proxy class is transformed from the template.
>>
>> This patch is intended to examine plain proxy generation impact on performance and JDK bootstrap (vs proxy transformation from template).
>>
>> The generated proxy is migrated from static initialization to CONDY bootstrap.
>>
>> Please review.
>>
>> Thank you,
>> Adam
>
> Adam Sotona has updated the pull request incrementally with one additional commit since the last revision:
>
> added ProxyGenBench JMH micro benchmark
test/micro/org/openjdk/bench/java/lang/reflect/Proxy/ProxyGenBench.java line 66:
> 64: ClassDesc tempDesc = ClassDesc.ofDescriptor(Interfaze.class.descriptorString());
> 65: loader = new ClsLoader();
> 66: clsMap = new HashMap<>(100);
Suggestion:
clsMap = HashMap.newHashMap(100);
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19410#discussion_r1624192732
More information about the core-libs-dev
mailing list