Thanks to many people on this list in Aug 2009 who helped improve my code, to Johannes Friestad for writing a nice fast Clojure program using deftype for the n-body problem, to Isaac Gouy for setting up the shootout web site to accept Clojure submissions, and to my having more time than good sense to work on this, there are now Clojure programs for 5 of the 10 shootout web site benchmark problems. You can see a brief summary of results comparing run time, memory, and code size against "Java 6 -server" here:
http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=clojure&lang2=java Note: All Clojure programs are AOT compiled before any time measurements are made when running the program. The programs are short enough that I believe the longest one was around 1.5 or 2 seconds on my MacBook Pro, but that time isn't included on the web site results. Are there improvements that could be made to the Clojure programs to make them faster? Most likely so. I doubt very much these are the fastest ones possible. I have not written any Java code for these solutions. I am sure that when push comes to shove in improving the run time of parts of a real-world program that were performance-critical, most programmers would optimize using Java or even C/C++. The goal here was to see what could be done without using those techniques. If people want to beat each other up using the shootout web site's results, I would probably recognize in them some of the "my language is best for every purpose" attitude I once had as a teenager. Now I just see it as one of several ways to evaluate a programming language, and often not the most important one. Thanks, Andy On Thu, Aug 26, 2010 at 11:59 AM, Isaac Gouy <igo...@yahoo.com> wrote: > > > On Aug 26, 8:37 am, John Fingerhut <andy.finger...@gmail.com> wrote: > > I have now submitted small modifications that permit AOT compilation. > The > > compile time was small -- on the order of 1 to 2 sec of the total CPU > time, > > which is often a small percentage of the long runs that are reported on > the > > shootout web site. > > > > But of course it is better if it is not included in the reported times, > > which it soon will not be. > > > AOT compiled > > > http://shootout.alioth.debian.org/u32q/program.php?test=mandelbrot&lang=clojure&id=2 > > > http://shootout.alioth.debian.org/u32q/program.php?test=regexdna&lang=clojure&id=2 > > > http://shootout.alioth.debian.org/u32q/program.php?test=knucleotide&lang=clojure&id=1 > > > > > > > > > Andy > > > > On Thu, Aug 26, 2010 at 12:26 AM, Meikel Brandmeyer <m...@kotka.de> > wrote: > > > Hi, > > > > > On 26 Aug., 07:58, Isaac Gouy <igo...@yahoo.com> wrote: > > > > > > Have you actually measured the time difference? > > > > > Compare the mandelbrot numbers for Haskell, Java and Scala. The ranges > > > are (0.07s 0.86s 13s), (0.19s 0.86s 12s), (0.22s 0.97s 15s). So Java > > > and Scala are not slower than Haskell, but the low iteration numbers > > > say something different. So you don't measure what you claim you > > > measure. And the fact that things vanish asymptotically doesn't fix a > > > broken methodology. > > > > > Sincerely > > > Meikel > > > > > -- > > > 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<clojure%2bunsubscr...@googlegroups.com> > <clojure%2bunsubscr...@googlegroups.com<clojure%252bunsubscr...@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<clojure%2bunsubscr...@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