9

我真的很喜欢 Grails,但我想知道如何获得 Groovy 2 的性能优势。问题是如何配置开发和生产环境以获得“接近 Java”的性能提升。

所以,如果我设置:

* JDK 7
* Groovy 2 (indie JAR to use invokedynamic)
* Grails 2.2

是否有任何指导方针可以真正加快我的 webapp开箱即用的速度?

我需要在我的 Grails webapp 代码库中进行任何重构吗?我的意思是像在控制器中引用服务这样的依赖注入东西应该是静态编译的,还是应该像文档说的那样继续编写代码?

ps:我猜Groovy @CompileStatic 和Grails可能是一个相关的问题......

4

1 回答 1

5

这取决于可能会减慢您的 Web 应用程序速度的原因 :) 我知道“它取决于”通常是答案,但它仍然是正确的。

无论如何,我已经四处询问,似乎 Grails 和 invokedynamic 还不会一起使用。重新加载代理需要更新,Hibernate 使用的 cglib/asm 库可能存在问题。

无论如何,Grails 在内部越来越多地使用 @CompileStatic(用于尚未用 Java 编写的东西),因此除非您的应用程序本身做了很多工作,否则您不太可能看到 invokedynamic 的巨大提升.

有一些关于这方面的官方信息会很有用,但现在还没有。

于 2013-04-05T13:51:14.473 回答