[Haskell-cafe] Climbing up the shootout...

Jonathan Cast jonathanccast at fastmail.fm
Mon Sep 22 16:58:07 EDT 2008

On Tue, 2008-09-23 at 00:46 +0400, Bulat Ziganshin wrote:
> Hello Jonathan,
> Tuesday, September 23, 2008, 12:30:19 AM, you wrote:
> >> yes, in asm number of instructions executed more or less define
> >> number of CPU cycles used.
> ....
> well, i more or less know all this stuff. but are you really compare
> to Haskell???

You were tasked with finding a language where `naive' code is fast.
Assembler doesn't count; you have to think about 

>  does Haskell programs typically written in account of
> cache misses and CPU ticks?

No.  At that level, you write assembler (or C).  But assembler and C are
usually not written in a naive fashion (not as naive as naive Haskell).
And when they do, they suck, performance-wise.

> i suggest you to look into two papers i
> mentioned

I don't remember the exact citation, but I'm sure I've read them.
Probably several times over.  Most papers I've seen I think the authors
looked for a large contrast; they aren't comparing Haskell and C on
truly level ground.

> - they state hundreds times slower naive Haskell

With slow datastructures

>  vs naive C.

Not so naive; just better datastructures.  Which are then replicated in
the relevant papers.  And the result is neither extremely low-level code
nor 100s of times slower than C.  The term `naive' gets thrown around in
the introduction to these papers for effect, but the Haskell code under
discussion by the time you reach the conclusion isn't much less `naive'
than the C code in the introduction.

> it's a reality, against all your arguments

Bang harder!!  I don't think the next list over can hear you yet!


More information about the Haskell-Cafe mailing list