Grails 2 / Groovy 2 / JDK7: как пожинать плоды?
Я действительно люблю Grails, но мне было интересно, как получить преимущества производительности Groovy 2. Вопрос заключается в том, как настроить среды разработки и производства, чтобы получить повышение производительности, близкое к Java.
Итак, если я настрою:
* JDK 7
* Groovy 2 (indie JAR to use invokedynamic)
* Grails 2.2
Есть ли какие-либо рекомендации, чтобы действительно ускорить мой веб -приложение из коробки?
И нужно ли мне делать какой-либо ре-факторинг в моей кодовой базе веб-приложений Grails? Я имею в виду, что такие элементы внедрения зависимостей, как ссылки на службы в контроллерах, должны быть статически скомпилированы, или я должен продолжать писать код, как говорят документы?
PS: я думаю, Groovy @CompileStatic и Grails может быть актуальным вопросом...
1 ответ
Это зависит от того, что может замедлить работу вашего веб-приложения:) Я знаю, что "это зависит" - это часто ответ, но это все еще правда.
Во всяком случае, я спрашивал вокруг, и кажется, что Grails и invokedynamic пока не сойдутся. Агент перезагрузки нуждается в обновлении, и могут возникнуть проблемы с библиотеками cglib / asm, используемыми Hibernate.
Несмотря на это, внутренне Grails все больше и больше использует @CompileStatic (для вещей, которые еще не были написаны на Java), поэтому, если ваше приложение не выполняет много работы само по себе, вы вряд ли увидите большой прирост с помощью invokedynamic.,
Было бы полезно иметь некоторую официальную информацию по этому вопросу, но ее сейчас нет.