Haskell performance
Jerzy Karczmarczuk
karczma at info.unicaen.fr
Thu Mar 18 12:04:51 EST 2004
Simon Peyton-Jones wrote:
> A wise man once warned about the danger of premature optimisation. I often
> spend ages labouring over efficiency aspects of my code (GHC, for example)
> that turn out to be nowhere near the critical path. Language choice is
> another example.
> My biased impression is that raw speed is seldom the determining factor in
> language choice.
Etc.
...
> That said, there are undoubtedly reasons why a high level language is
> fundamentally never going to be as fast as a low level one.
Well, ... What does it mean a "fast language"?
My favourite example, some centuries old, goes back to times when I was a happy,
young physicist. We wanted to implement a combinatorial problem, the global
effect of individual nucleon-nucleon scattering in alpha-alpha collisions. Some
256 diigraphs to compute, much more for the final result. A friend of mine wrote
a Pascal/Fortran program for a CDC Cyber mainframe, and I took microProlog and
a Sinclair Spectrum with 48K of main storage. His program gave the result after
3 seconds. Mine: after, hm. ... well, after some hours I had to use a cassette
player to store the intermediate results, finally next morning I got something
usable.
So what? - will you ask.
Well, the crux of the matter is that I wrote my program in two days. My friend
spent about two weeks to complete his coding.
Now, who could drink more bottles of beer before obtaining the final results?
===================
And now, again, more and more people curse the laziness, fight against boxed,
shareable data, want to produce lightspeed database interfaces, etc. I am too
lazy to get nervous (unless I do so for theatrical reasons, as an old teacher),
but I sincerely think that it is time that somebody writes a book on Haskell
as a language for the FAST DESIGN of lousy algorithms...
Jerzy Karczmarczuk
Caen, France
More information about the Glasgow-haskell-users
mailing list