Re: Groovy 5 - Performance / @CompileStatic
Jochen Theodorou <[email protected]>
| Newsgroups | gmane.comp.lang.groovy.devel |
|---|---|
| Message-ID | <[email protected]> |
On 07.08.25 21:24, MG wrote: > Hi .+, > > since Groovy 5 to my knowledge is the first Groovy which does away with > the old, faster, non-invoke-dynamic call site resolution support, I > wanted to do a quick post on that topic that might be of interest to > larger Groovy projects like ours: > > 1. After the initial performance problems in Groovy 3/4 caused > by invoke-dynamic, for which we were, with some effort, in the end > able to pinpoint the culprit in our code and implement a workaround, > we unfortunately discovered another performance drop in a later > Groovy version. > 1. The drop was less severe than in the previous case, but was > around a factor of 2 when it appeared. > 2. In this case we were alas not able to find a specific code part that > caused the drop in performance, but it seemed like Groovy was > leaking a bit of performance on every level, which in the end added > up to our main web application running with half speed in certain > crucial parts, as well as our test suite taking far longer to > execute fully. [...] I have a long list of changes to be done to the invokedynamic code. The simple problem is that invokedynamic is complex and difficult to handle. And because of context switching I never found a window big enough to actually do the changes I have in mind. Then I wanted to write a document explaining all the problems so that maybe others can do it... but that turned out to be still too much so far. bye Jochen