On Tue, 9 Jan 2024 13:30:58 GMT, Adam Sotona <asot...@openjdk.org> wrote:

>> ClassFile API performance related improvements have been separated from 
>> #17121 into this PR.
>> 
>> These improvements are important to minimize performance regression of
>> 8294961: Convert java.base/java.lang.reflect.ProxyGenerator to use the 
>> Classfile API to generate proxy classes #17121
>> 
>> Please review.
>> 
>> Thanks,
>> Adam
>
> Adam Sotona has updated the pull request incrementally with three additional 
> commits since the last revision:
> 
>  - updated copyright year
>  - reverted custom method slots counting in StackCounter
>  - improved and extended GenerateStackMaps benchmarks and renamed to 
> CodeAttributeTools

StackMapGenerator benchmark is heavily benefiting from symbols caching for 
repeated execution.
I've created new CodeAttributeTools::benchmarkStackMapsGenerator and 
CodeAttributeTools::benchmarkStackCounter with focus on single use of each 
parsed model to eliminate background caching effect.
Then I've compared version with custom method parameter slots counting and 
version with symbols cached in NaT entries.
There is insignificant difference between these two approaches.
Explanation may by that repeated uses of the same NaT entry (of the called 
method) compensate the initial parsing cost. 

Based on these results I've decided to revert custom parameter slots counting 
method and apply the previously proposed solution.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/17306#issuecomment-1883065817

Reply via email to