Прогрев особых результатов не принес (хоть и удалось «сбросить» около 200 мс.).
Если в приведенном выше коде (где присутствует int) к методу добавить аннотацию @CompileStatic — скорость выполнения становится равной скорости Java кода. Это может быть очень полезно для ускорения «критических» участков кода, но использовать динамическую типизацию с этой аннотацией нельзя…
Java 1.7 / Groovy 1.8
Зато я заметил, что если добавить в код на груви типы, то время выполнения снижается до 1.162 сек. — всего в ~2 раза медленнее. Неужели цена динамической типизации так высока?
исправленный код:
class Groovy {
def int fibonacci(int n) {
if (n < 2) return n
return fibonacci(n-1) + fibonacci(n-2)
}
}
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Если в приведенном выше коде (где присутствует
int
) к методу добавить аннотацию @CompileStatic — скорость выполнения становится равной скорости Java кода. Это может быть очень полезно для ускорения «критических» участков кода, но использовать динамическую типизацию с этой аннотацией нельзя…