The 1.3 release for Clojure aims for parity with Java performance, with less explicit optimization and hinting than required in 1.2 (or in Java). It would be great to have people in the community share the effort of writing and testing benchmarks, and to facilitate this I have created a top-level skeleton project for a benchmark and regression suite for clojure (http://github.com/clojure/test.benchmark). Andy Fingerhut, who wrote most of the current alioth benchmarks, has signed a CA and will be contributing his code to this project.
We will primarily be targeting benchmarks for 1.3. performance, but will keep a separate 1.2 directory in the project for anyone who is interested. As an aside: You will not be able to just run benchmarks carefully tuned for 1.2 under 1.3 and get best performance, as some of the performance tricks are now counter-indicated. Stu > Clojure has recently been added to http://shootout.alioth.debian.org/ > benchmarks. I know there are a lot of objections and excuses about > this benchmark, but that is defacto go to place when talking about > language implementation performance. > > The problems is that performance is not that great as it could / > should be. Yes, it is a couple times faster then Ruby or Python, but > everyone's faster then those. > > It still lags far behind Java, it is usually ~4 times slower then > Java, although the code seems heavily optimized thus making it even > more verbose then Java code. When running the same benchmarks with > Clojure 1.3 snapshots I didn't notice fundamental speed difference. > > Scala performance is on par with Java. > > Now, the questions are: > - Could benchmarks themselves be better optimized to better represent > Clojure? > - Is there a fundamental reason why Clojure can't reach Scala speed, > except for maturity? > - What are the plans regarding performance optimizations in near and > distant future? > > I have seen some microbenchmarks where Clojure reaches "almost Java" > speed, but in general it is still much slower. I know that performace > is not "reason d'etre" of Clojure, but it is still important. > > Regards, > Marko > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with your > first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en