On Saturday 23 June 2007 08:58:10 Philip Armstrong wrote:
On Sat, Jun 23, 2007 at 03:28:53AM +0100, Jon Harrop wrote:
What architecture, platform, compiler versions and compile lines are you using?
32-bit x86...
Intel or AMD?
http://www.ffconsultancy.com/languages/ray_tracer/code/5/ray.ml http://www.ffconsultancy.com/languages/ray_tracer/code/5/ray.cpp
I gather these use algorithmic optimisations.
Both. Versions 1-4 are progressively algorithmic, version 5 includes low-level optimizations (mostly manual inlining and unrolling). Implementing version 1 is probably also interesting: it is the most concise version. BTW, the ray tracer leverages the semantics of the float infinity (as the parameter when there is no intersection). Shouldn't be a problem but some compiler options might break it. -- Dr Jon D Harrop, Flying Frog Consultancy Ltd. The OCaml Journal http://www.ffconsultancy.com/products/ocaml_journal/?e