Hi Everyone,

As discussed in the weekly dev meeting, I am proposing we disable
invoke dynamic on newly generated Grails 7 applications.  There are
multiple reasons for this:

1. Some of the issues I've found with Groovy aren't being back ported
that affect invoke dynamic (mostly CompileStatic issues).  These
issues are only being fixed in Groovy 5, which we will not adopt until
Grails 8.

2. Performance regressions have been well documented under
https://github.com/apache/grails-core/issues/15293  The Groovy team
needs time to address these issues.

3. Disabling will only occur on newly generated applications & can
easily be changed to opt-in to invoke dynamic if desired.

While invoke dynamic will be the only option when we adopt Groovy 5,
the first impression of using Grails 7 is that it's slower, and
GrailsCompileStatic does not work in some scenarios.  These issues
don't exist if invoke dynamic is disabled.

I've created https://github.com/apache/grails-core/issues/15321 to
capture this request &
https://github.com/apache/grails-core/pull/15322 to actually disable
it.

What are people's thoughts on this approach?

Regards,
James

Reply via email to