[Haskell-cafe] Great language shootout: reloaded

Donald Bruce Stewart dons at cse.unsw.edu.au
Fri Nov 10 23:00:16 EST 2006


igouy2:
> > On 11/10/06, Henk-Jan van Tuyl <hjgtuyl at chello.nl> wrote:
> >>
> >> Haskell suddenly dropped several places in the overall socre, when
> the
> >> size measurement changed from line-count to number-of-bytes after
> >> gzipping. Maybe it's worth it, to study why this is; Haskell
> programs 
> >> are
> >> often much more compact then programs in other languages, but after
> >> gzipping, other languages do much better. One reason I can think of,
> is
> >> that for very short programs, the import statements weigh heavily.
> 
> 
> Before this gets out-of-hand, my memory is certainly fallible but as I
> recall Haskell /did not/ drop several places because size measurement
> changed from line-count to gzip byte-count.
> 
> 
> 1) Check the webpage that Don Stewart cached and note the values for
> the memory use and code-lines multipliers, and note the values for the
> benchmark weights
>    http://www.cse.unsw.edu.au/~dons/data/haskell_1.html
>  
> Now go to the computer language shootout website and note the
> multipliers and benchmark weights.
> 
> 
> 2) Some Haskell programs were pushed into 'interesting alternative
> implementations' because they'd strayed so far from the spirit of the
> benchmark. (It takes a while for people to notice and complain, but
> eventually they do.)

I agree. Breaking the rules was mainly the reason for the drop. Entries
like chameneos and fasta. Also, the other language teams kept improving
things.  

Other language (perl, iirc) were affected far worse by the gzipping.
gzip is an interesting measurement, and it doesn't hurt Haskell too much
either way -- short Haskell programs stay short when compressed.

As a result, rewriting verbose entries to ByteString will probably be
much more useful :)

Btw, Isaac, are we going to have any new parallelism benchmarks? I'd
love to try out the SMP runtime ;)

-- Don


More information about the Haskell-Cafe mailing list