[
https://issues.apache.org/jira/browse/GROOVY-10709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17578568#comment-17578568
]
Kyle Moore commented on GROOVY-10709:
-------------------------------------
[~paulk] what version(s) of the JDK are you using to compile the input classesÂ
{{g3c.Pogo1}}? And what version are you using the execute the benchmarks?
tl;dr
It's my understanding that improvements in the JDK constantly improve
MethodHandle invocation times. But I'm also unclear about where these
improvements are made, i.e. is the compiler doing some sophisticated inlining,
or are the improvements made in the VM at runtime? The Gradle performance tests
we've been using are 1) Building the Gradle distribution with JDK 11 but
targeting Java 8 bytecode, then 2) using Java 8 to invoke Gradle, compile and
execute Groovy build scripts. Our benchmarks are consistent about using Java 8
with Groovy 3 classic vs. Groovy 4, but I wonder if we see drastically
different classic vs. indy results due to this.
> Performance regression in Gradle with Groovy 4
> ----------------------------------------------
>
> Key: GROOVY-10709
> URL: https://issues.apache.org/jira/browse/GROOVY-10709
> Project: Groovy
> Issue Type: Bug
> Affects Versions: 4.0.3
> Reporter: Kyle Moore
> Assignee: Paul King
> Priority: Major
> Fix For: 4.0.5
>
> Attachments: test-results-largeAndroidBuildPerformanceAdHocTest.zip
>
>
> The Gradle team is exploring Groovy 4 as the included version for our next
> major release.
> Our initial performance tests show a significant regression which may be
> caused by excessive method calls to generate specialized exceptions that
> don't have stacks.
> I will attach a tome of performance data comparing Gradle built with Groovy
> 3.0.11 vs. 4.0.3. Interesting measurements are available at:
> *
> run-help/7.6-20220727093039+0000/diffs/run-help-7.6-20220727093039+0000-vs-7.5-cpu-simplified-backward-diff-flames.svg
> * performance-tests/report/index.html -> comparing "Gradle 7.5" vs. "Current
> Gradle" shows a significant regression.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)