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.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe