Language shootout (reloaded)

Just so we can feel that we're doing the right things :) On the great language shootout, as of last night, we're: * Ranked overall number 1, by a good margin: * Ranked number 1 on lines of code * Ranked number 2 on speed. http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all Thanks to everyone who's contributed to the entries over the last few weeks, on the wiki, and on this list. Cheers, Don P.S. I remember having a discussion on #haskell 2 weeks ago where we all agreed that Haskell placing #1 was pretty much impossible. Did we have an inferiority complex?

Don Stewart wrote:
P.S. I remember having a discussion on #haskell 2 weeks ago where we all agreed that Haskell placing #1 was pretty much impossible. Did we have an inferiority complex?
Still---and, please, forgive me for this---I feel that us being #1 now tells us more about the Haskell community than it tells us about Haskell. Regards, Stefan

On 10/02/06, Stefan Holdermans
Don Stewart wrote:
P.S. I remember having a discussion on #haskell 2 weeks ago where we all agreed that Haskell placing #1 was pretty much impossible. Did we have an inferiority complex?
Still---and, please, forgive me for this---I feel that us being #1 now tells us more about the Haskell community than it tells us about Haskell.
The Haskell community is an important part of Haskell. :) - Cale

On Fri, 10 Feb 2006, Cale Gibbard wrote:
On 10/02/06, Stefan Holdermans
wrote: Don Stewart wrote:
P.S. I remember having a discussion on #haskell 2 weeks ago where we all agreed that Haskell placing #1 was pretty much impossible. Did we have an inferiority complex?
Still---and, please, forgive me for this---I feel that us being #1 now tells us more about the Haskell community than it tells us about Haskell.
The Haskell community is an important part of Haskell. :)
Is it part of the Haskell 98 report? :-]

"Stefan Holdermans"
Still---and, please, forgive me for this---I feel that us being #1 now tells us more about the Haskell community than it tells us about Haskell.
How to optimize Haskell code: 1) enter it as a test in the great language shootout. 2) wait a few days. 3) download optimized code. Immanuel

Hello Immanuel, Friday, February 10, 2006, 12:42:41 PM, you wrote:
Still---and, please, forgive me for this---I feel that us being #1 now tells us more about the Haskell community than it tells us about Haskell.
IL> How to optimize Haskell code: IL> 1) enter it as a test in the great language shootout. IL> 2) wait a few days. IL> 3) download optimized code.
someone can develop optimizing compiler implementing this algorithm :))) -- Best regards, Bulat mailto:bulatz@HotPOP.com

Bulat Ziganshin wrote:
Hello Immanuel,
Friday, February 10, 2006, 12:42:41 PM, you wrote:
Still---and, please, forgive me for this---I feel that us being #1 now tells us more about the Haskell community than it tells us about Haskell.
IL> How to optimize Haskell code: IL> 1) enter it as a test in the great language shootout. IL> 2) wait a few days. IL> 3) download optimized code.
someone can develop optimizing compiler implementing this algorithm :)))
This is similar to an old algorithm: 1) Submit your program to the GHC team for inclusion in nofib 2) Wait for the next GHC release this algorithm has been little used of late, though. I should really incorporate all the shootout programs into nofib, in fact. Cheers, Simon

Stefan Holdermans wrote:
Don Stewart wrote:
P.S. I remember having a discussion on #haskell 2 weeks ago where we all agreed that Haskell placing #1 was pretty much impossible. Did we have an inferiority complex?
Still---and, please, forgive me for this---I feel that us being #1 now tells us more about the Haskell community than it tells us about Haskell.
Regards,
Stefan
Point taken. But I think it *has* revealed a lot about Haskell: (1) "The language of Haskell" : It proved that Haskell's syntax allows for a good lead in the lines of code benchmark. If you ignore the 5 benchmarks without a Perl entry, then Haskell still wins and Perl is second. More concise than Perl is something that most people would consider to be non-trivial. (2) "The implementation of GHC 6.4.1": It proved the GHC runtime system is incredibly efficient at concurrency. It proved GHC can beat GCC in some cases. It proved that the memory consumption of lazy+strict Haskell is competitive with explicitly managed memory in c++ (g++) and strict but garbage collected OCaml. (3) "The libraries of GHC 6.4.1": It has emphasized which bits of GHC has to be worked around, where the provided library is simply too inefficient. This is usually not new information, but it does provide an (more) objective benchmark. And now for some perspective on speed: Comparing Haskell to OCaml, Haskell is almost always slower. For CPU time Haskell wins on 5, OCaml wins on 13 benchmarks (OCaml is missing 1 program). But for two of those 5, the thread benchmarks, Haskell is 107x and 129x faster. This amazingly large margin skews the ranking. Aside from threading, OCaml wins on 13 vs 3 for Haskell. Ignoring the these two threaded benchmarks, OCaml is 3rd behind C and D, while Haskell is 8th behind SML MLton. So is Haskell the fastest? No, not unless you need to do an amazing amount threaded processing. Actually, comparing Haskell to C shows C/gcc faster on 10 to 6 with Haskell/GHC faster (C is missing 3 programs). -- Chris

Chris Kuklewicz
Comparing Haskell to OCaml, Haskell is almost always slower.
...but generally not by much. And for another perspective on speed: Haskell loses tremendously in the knucleotide benchmark. As I mentioned previously, even TCL beats us by a margin of two, and it seems to be the comparatiely worst-performing benchmark regardless of language I compare to. Current GHC score is 4.6% ahead of GCC, weigting knucleotide to 0 gives us a 13% lead. -k -- If I haven't seen further, it is by standing in the footprints of giants
participants (9)
-
Bulat Ziganshin
-
Cale Gibbard
-
Chris Kuklewicz
-
dons@cse.unsw.edu.au
-
Henning Thielemann
-
Immanuel Litzroth
-
Ketil Malde
-
Simon Marlow
-
Stefan Holdermans