Я не уверен, принадлежит ли это StackOverflow или группе Clojure Google. Но группа, похоже, занята обсуждением числовых улучшения для Clojure 1.2, поэтому я попробую здесь:
http://shootout.alioth.debian.org/ содержит несколько тестов производительности для различных языков.
Я заметил, что Clojure отсутствует, поэтому сделал версию на Clojure. проблема с n-телом.
Самый быстрый код, который мне удалось создать, можно найти здесь, и бенчмаркинг, похоже, говорит о том, что для обработки чисел Clojure является
- в 10 раз быстрее, чем Python/Ruby/Perl
- в 4 раза медленнее, чем C/Java/Scala/Ada
- примерно на уровне OCaml, Erlang и Go
Меня вполне устраивает такой уровень производительности.
Мой вопрос к гуру Clojure:
- Есть ли очевидные улучшения, которые я упустил, либо с точки зрения скорости, либо с точки зрения краткости кода или удобочитаемости (без ущерба для скорости)?
- Считаете ли вы, что это показатель производительности Clojure по сравнению с Python/Ruby/Perl, с одной стороны, и Java/C, с другой?
Обновить
Другие тестовые программы Clojure 1.1 для перестрелки здесь, включая задачу n-body.