[Haskell-cafe] Language Shootout reverse-complement benchmark
leimy2k at gmail.com
Tue Jun 1 10:25:57 EDT 2010
I'm still trying to figure out what the point of the shootout really is. If
there's no dedicated folks working with a language there, trying to make
things run faster, a language will come out looking inefficient potentially.
There's a lot of compile flags and optimizations that can make a difference
in probably all of the languages listed on that page.
I guess all you can get from the shootout is a sense of what a particular
language or set of tools is capable of in the hands of the programmers who
submit implementations. It doesn't really give you a concrete idea as to
how to evaluate a programming language.
It does still seem kind of fun for some reason though :-)
On Mon, May 31, 2010 at 5:47 PM, Louis Wasserman
<wasserman.louis at gmail.com>wrote:
> I was looking at the reverse-complement benchmark on the Language Shootout,
> and among other things, I noticed that the Haskell implementation was using
> (filter (/= '\n')) on ByteStrings, and also using lists as queues.
> I had a few improvements which using -fasm seem to yield about a 19%
> improvement in speed, and a 35% reduction in allocation, on my computer.
> (If both programs are compiled with -fllvm -- I'm not sure whether or not
> that's fair game on the Shootout -- my implementation is 35% faster, and
> does 10% less allocation.) I've checked my code on the Shootout's test
> input, as well.
> Mostly, the improvement comes from a tightly specialized version of (filter
> (/= '\n')), although eliminating an intermediate list entirely (and one used
> in a queuelike fashion) didn't seem to hurt. I managed to cut the program
> to a point where the program size is about the same as before.
> The code is at http://hpaste.org/fastcgi/hpaste.fcgi/view?id=25865; the
> previous implementation is at
> Let the arguing begin?
> Louis Wasserman
> wasserman.louis at gmail.com
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe