Edit: Clojure 基准测试已达到基准游戏 http://benchmarksgame.alioth.debian.org/u64q/clojure.html.
我已经制作了这个问题社区维基并邀请其他人保持更新。
有人知道 Clojure 性能的基准吗?
我自己做了一些(虽然没有太正式的),但与其他函数式语言(尝试过 Haskell 和 OCaml)相比,它并不太好。但与 Java 或 JVM 上的其他语言(例如 Scala)相比,它看起来怎么样?它与其他 Lisp 相比如何?
有一些 on the 计算机语言基准测试游戏 http://benchmarksgame.alioth.debian.org/关于在那里添加 Clojure 的论坛,但尚未采取任何行动。
Edit:当我发现更多内容时,我将继续添加:
@igouy 指出 clojure 的基准脚本正在创建中 http://github.com/jafingerhut/clojure-benchmarks作者:jafingerhut 在 github 上。
Clojure 讨论组中的两个非常相关的主题:
- Clojure性能测试,clojure比Java慢一点 http://groups.google.com/group/clojure/browse_thread/thread/289904c1a5deb8d8
- Clojure 速度 http://groups.google.com/group/clojure/browse_thread/thread/a02eacd0ff841474
- clojure 和 scala 之间的斐波那契函数性能比较 http://groups.google.com/group/clojure/browse_thread/thread/26518e5bc09a94d8
另外,这些博客文章:
- 基本 Clojure、Java 和 JVM 语言性能 http://berlinbrowndev.blogspot.com/2009/07/jvm-notebook-basic-clojure-java-and-jvm.html
-
Scala 与 Clojure — 让我们言归正传吧 http://www.bestinclass.dk/index.php/2009/09/scala-vs-clojure-lets-get-down-to-business/ and Scala vs Clojure — 第 2 轮:并发! http://www.bestinclass.dk/index.php/2009/09/scala-vs-clojure-round-2-concurrency/
-
Python vs Clojure — 进化 http://www.bestinclass.dk/index.php/2009/10/python-vs-clojure-evolving/ and Python vs Clojure — Reloaded http://www.bestinclass.dk/index.php/2009/10/python-vs-clojure-reloaded/
- Clojure 与 Ruby http://www.mikeperham.com/2008/12/13/clojure-vs-ruby/
- Clojure 讨论 - 当性能很重要时 http://bc.tech.coop/blog/090113.html
最后,stackoverflow 上的一个相关问题:
- 性能和 Java 互操作性:Clojure 与 Scala https://stackoverflow.com/questions/1506728/on-performance-and-java-interoperability-clojure-vs-scala
大多数这些讨论让我认为,与在 JVM 上运行的其他语言相比,Clojure 的性能非常有利,尽管毫无疑问,在比较语言时很难得出广泛的结论,因为它们的性能可能相差很大取决于任务。
Edit:
Lau Jensen 刚刚在他的博客上发表了关于 JVM 语言基准测试的精彩讨论:“正确进行基准测试” http://www.bestinclass.dk/index.php/2010/02/benchmarking-jvm-languages/.
See jafingerhut / clojure 基准测试 http://github.com/jafingerhut/clojure-benchmarks
iirc当前的 clojure 实现并未关注性能,但下一个版本应该会关注性能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)