Hello Mathieu, Friday, April 16, 2010, 12:42:29 PM, you wrote:
> Sure. But I was curious if to see whether there was some optimization > I had missed, seeing as other similarly low level programs, such as > the nsieve benchmark of the language shootout, or the word counting > program, manage to run within a few percentage points of C if not > faster. you know it's the big game with $00000's hanging around. sometimes we rewrite programs, sometimes libs and sometimes compiler itself. the best way to optimize your program is to add it to shootout itself :))) i know one case when required function was added to the library and i know that ghc was added better code generation for short loops. probably it was enough to shootout programs but not your one. but of course if making full-fledged optimizing compiler was so easy, it was made to C and Haskell many years ago > Since this program doesn't use any features specific to > functional programming, such as higher order functions, and mostly > just calls out to imperative primitives of GHC not implemented in > Haskell (such as unsafeRead and unsafeWrite), I would have thought > that the gap in runtimes might have been smaller. it's not runtimes, but code generation. ghc -O2 should be rather close to gcc -O0. you just undervalue amount of work done in gcc in those 20 years :) -- Best regards, Bulat mailto:bulat.zigans...@gmail.com _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe