Вопрос

Если я правильно понимаю Groovy динамически напечатана, но, поскольку это почти суперсет Java, можно предоставить информацию о статическом типе. Это может быть полезно, если написать что -то, где только несколько частей имеют критическую производительность, избегая трения с использованием нескольких языков. Типовые аннотации могут быть предоставлены только для критических частей производительности.

Каково штраф за производительность для использования Groovy вместо Java в функциях/классах, где используется подмножество Java, и аннотация статического типа предусмотрены?

Это было полезно?

Решение

Объявление типов в Groovy не волшебным образом ускоряет ситуацию. Это все еще отличный код, и он должен пройти через швабру на случай, если что -то динамически изменилось. Вы не получаете статическое связывание только потому, что вы дали информацию типа.

Для чувствительных к производительности вещей, для которых простой код просто недостаточно быстр, вам нужно написать настоящий код Java.

Этот вопрос очень похож на Предыдущая где я дал ответ Копание в сгенерированном байтовом коде, показывая, как что -то набирает что -то, не ускоряет ситуацию.

Другие советы

Вы также можете использовать Groovy ++. Оставьте Groovypp.jar в путь к классу и аннотируйте пакет, класс или метод с помощью @typed. Аннотированный код отстранен от швабры, поэтому практически так же быстр, как код Java.

И даже если вы не объявите тип, @typed Code выведет тип, если это возможно, во время компиляции.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top