haskell-cafe@haskell.org
[Top] [All Lists]

Re: Re[4]: [Haskell-cafe] In-place modification

Subject: Re: Re[4]: [Haskell-cafe] In-place modification
From: Donald Bruce Stewart
Date: Mon, 16 Jul 2007 02:22:33 +1000
hughperkins:
> 
>    Brandon wrote:
>    > Seems to me you get the best picture by picking two
>    algorithms, one
>    which favors C# and one which favors Haskell, and
>    implementing both
>    in both languages.
>    Sounds good to me.  What is a good problem that favors
>    Haskell?

NO. We just *did* this.

Firstly, to compare GHC Haskell and C#, look at the shootout:

    
http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=ghc&lang2=csharp

C# does better than I expected! 2.6x faster than one Haskell program,
usually 2-4x slower.  Really poor at lightweight concurrency.
Don't do toy benchmarks here, fix the C# ones on the shootout!

Secondly, we just did this for prime sieves:

  * imperative bit sieves on this list, in C# and Haskell, roughly
    identical runtimes, though Hugh didn't benchmark the fastest Haskell ones.

    This is to be expected, every compiled languages runs into the cache
    on this benchmark anyway, see here:

       http://shootout.alioth.debian.org/gp4/benchmark.php?test=nsieve&lang=all

  * lazy sieves, C# was 100x slower than the naive Haskell implementation.
    That's the real story here, laziness is just hard and painful in C#.

However, if you're keen, and agreeing to implement the same algorithm on
both systems, I'd have a go in C# at 'chameneos', a concurrency
benchmark,

    http://shootout.alioth.debian.org/gp4/benchmark.php?test=chameneos&lang=all

or maybe 'pidigits', a lazy pi generator,

    
http://shootout.alioth.debian.org/gp4/benchmark.php?test=pidigits&lang=ghc&id=0

Should be a challenge in C#.

-- Don

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@xxxxxxxxxxx
http://www.haskell.org/mailman/listinfo/haskell-cafe

<Prev in Thread] Current Thread [Next in Thread>