RFR: 8289943: Simplify some object allocation merges [v10]
Cesar Soares Lucas
cslucas at openjdk.org
Wed Oct 5 22:14:09 UTC 2022
On Fri, 30 Sep 2022 23:16:59 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
>> Cesar Soares Lucas has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Addressing PR feedback. Added new constraint for case of merging SR and NSR allocations.
>
> DaCapo 9.12 I think.
> `DaCapo-xalan-large` showed -36% and -27% in 2 runs. Flags: `--size large --iterations 20 xalan`
> `DaCapo-lusearch-large` showed -19% and -114% in 2 runs. Flags: `--size large --iterations 20 lusearch-fix`
>
> @ericcaspole said that Dacapo results are not stable.
>
> On MacOS M1 there is no difference in results (insignificant <0.5%).
Hi @vnkozlov, @merykitty - I pushed some changes to address your suggestions.
@vnkozlov - Thank you for the additional info about DaCapo. Looks like you're doing a comparison based on CPU or Wall Time, is that so? I did some further investigation on my end and I didn't see much change in Wall Time or Allocation Rate in Xalan or LUSearch. The DaCapo benchmarks don't allocate a lot of memory and in my experiments so far I don't see the current patch having a big impact on the performance of those benchmarks. I'm wondering if the effect that you're experiencing is due to some unrelated effect? _Still, I admit that I only did performance tests on Linux since I expected my changes to be independent of the target architecture and/or OS. I'm going to run additional tests on different targets and investigate any regression that I may find._
In a previous batch of perf. experiments I saw noticeable gains in some Renaissance benchmarks (experiments run on Linux). Something around a 10% reduction in allocation rate in a few benchmarks and in others I didn't see any statistical difference. I'm going to run some more perf. experiments and in more platforms/OS and get back to you. If there is any particular benchmark or argument that you think it's important for me to use, please let me know.
I'm considering making the `ReduceAllocationMerges` an experimental option. I think that makes it more clear that we have a stable patch but we are still actively working to make it more widely applicable and thus increasing its positive impact on performance. What do you think?
-------------
PR: https://git.openjdk.org/jdk/pull/9073
More information about the hotspot-compiler-dev
mailing list