[Haskell-cafe] Re: [Haskell] [Fwd: Re: Computer Language Shootout]

Fawzi Mohamed fmohamed at mac.com
Tue Feb 27 09:24:15 EST 2007


On Feb 27, 2007, at 1:59 PM, Sven Panne wrote:

> On Tuesday 27 February 2007 13:44, Andrzej Jaworski wrote:
>> I have learned logic from much deeper sources;-)
>> My statement was:
>> Guys started in Haskell and got to conclusion that for performance  
>> reasons
>> it is better to move to C.  The guys know what they are doing.
>>
>> I hope that helps;-)
>
> Hmmm, is there any paper/blog/etc. describing exactly what the  
> performance
> problems were? If something is too slow, usually either the language
> implementor or the language user can learn something. Furthermore,  
> when
> moving from programming language X to Y and seeing performance  
> improvements,
> it is more often than not the case that the reason for this is not  
> that Y is
> faster than X, but that one has learned a lot about the problem when
> implementing in X. So in general you see an improvement even when X  
> == Y,
> i.e. dump your old Haskell code and start from scratch.

I could not find references for the other stuff, but for Algebraic  
Dynamic Programming I found this

http://bibiserv.techfak.uni-bielefeld.de/adp/adplit.html

and citing my previous message ;)

>>> they went from an embedded haskell implementation to a direct  
>>> compiler implementation.
>>>
>>> From what I understood I believe that mis-performance in that  
>>> case came from the embedded nature of the DSL
>>> 1) not having a specialized parsing step (making the usage more  
>>> difficult)
>>> 2) no abstract representation of the program that could be  
>>> optimized with special transformations relative to the DSL
>>> 3) not fully optimized kernel methods
>>>
>>> writing a real compiler for that language made sense, and also  
>>> the choice of c as language for it, but I think that it would  
>>> have been possible to write it in haskell without a big  
>>> performance hit. I haven't seen that haskell compiler  
>>> significantly worse than others except in really low level    
>>> computational code, which (with more effort than with C) can be  
>>> optimized so that it is not really so terribly worse.
>>


More information about the Haskell-Cafe mailing list