С Clojure вы можете получить скорость Java (с подсказками типа, конечно), и вы не можете получить быстрее, чем java (за исключением некоторых редких случаев). Я не знаю, о других лисах, возможно, одинаковую скорость, но не быстрее.
Так что это говорит о стандартной скорости вызовов и т. Д.
Clojure имеет структуры данных не всегда как можно быстрее, но на самом деле они компенсируют другие свойства, такие как безопасность резьбы, неизменное и быстрое считывание.
Чтобы сделать структуры данных быстрее Богатые изобретенные переходные процессы, сделав их изменчивыми таким образом, что они все еще функционируют (и они намного быстрее), и он уже работает над следующим большим делом (читайте о лагере Emerging Languages говорить о богатых).
Его гораздо проще написать параллельный код с clojure, чтобы он действительно импортировался для быстрого создания программ.
Итак, следующая вещь - математика. На JVM есть три уровня скорости. Математика с коробчатыми типами, примитив Типы с проверкой переполнения или без проверки переполнения. Clojure предоставляет все из них, поэтому никаких ограничений нет.
Итак, следующая вещь: насколько быстро вы можете работать с Java, если вам нужно использовать обертки, которые вы не будете выполнять так хорошо, а вызовы java часто используются на большинстве языков JVM. Чтобы реализовать clojure в clojure, clojure необходимо добавить конструкцию низкого уровня, чтобы вы могли взаимодействовать с java без каких-либо накладных расходов.
Так что clojure так же быстро, как и на JVM.
P.S.
Протоколы, как и очень быстрые методы, не так универсальны, но отправка достаточно быстро, чтобы использовать их в ядре clojure (и поэтому больше не зависит от java). Посмотрите на них, как здорово.
SISC означает «Second * Interpreter * of Scheme Code», для интерпретатора его производительность считается неплохой, но ее определенно медленнее, чем kawa, которая компилируется непосредственно на байт-код, а также поддерживает подсказки типов.Однако может быть интересно сравнение между выступлением clojure и kawa. –