Ray Tracing, Ray Tracer, Haskell, Performance, Parallel Computing.
— in other words, node-based data structures. Node-based data structures are usually slow because they’re cache-unfriendly — and thus should rather be avoided in tight loops. Instead, if we use record-based structure, like this: then suddenly we see this: Almost 93s, i.e 1.5m. That is a huge jump!