[Haskell-cafe] Haskell version of ray tracer code is much slower than the original ML

Donald Bruce Stewart dons at cse.unsw.edu.au
Sat Jun 23 00:41:09 EDT 2007


jon:
> On Friday 22 June 2007 19:54:16 Philip Armstrong wrote:
> > On Fri, Jun 22, 2007 at 10:11:27PM +0400, Bulat Ziganshin wrote:
> > >btw, *their* measurement said that ocaml is 7% faster :)
> >
> > Indeed. The gcc-4.0 compilied binary runs at about 15s IIRC, but it's
> > still much better than 7% faster than the ocaml binary.
> 
> What architecture, platform, compiler versions and compile lines are you 
> using?
> 
> On my 2x 2.2GHz Athlon64 running x64 Debian I now get:
> 
> GHC 6.6.1:    26.5s    ghc -funbox-strict-fields -O3 ray.hs -o ray

Don't use -O3 , its *worse* than -O2, and somewhere between -Onot and -O iirc,

    ghc -O2 -funbox-strict-fields -fvia-C -optc-O2 -optc-ffast-math -fexcess-precision

Are usually fairly good.



> OCaml 3.10.0: 14.158s  ocamlopt -inline 1000 ray.ml -o ray
> g++ 4.1.3:     8.056s  g++ -O3 -ffast-math ray.cpp -o ray
> 
> Also, the benchmarks and results that I cited before are more up to date than 
> the ones you're using. In particular, you might be interested in these faster 
> versions:
> 
>   http://www.ffconsultancy.com/languages/ray_tracer/code/5/ray.ml
>   http://www.ffconsultancy.com/languages/ray_tracer/code/5/ray.cpp
> 
> For "./ray 6 512", I get:
> 
> OCaml: 3.140s  ocamlopt -inline 1000 ray.ml -o ray
> C++:   2.970s  g++ -O3 -ffast-math ray.cpp -o ray
> 
> -- 
> Dr Jon D Harrop, Flying Frog Consultancy Ltd.
> The OCaml Journal
> http://www.ffconsultancy.com/products/ocaml_journal/?e


More information about the Haskell-Cafe mailing list