Ray Tracing, Ray Tracer, Haskell, Performance, Parallel Computing.
compiler uses -fasm as backend. So I switched to LLVM backend with -fllvm flag and passed some optimizations flags, basically this (commit): With that change, our program’s performance is: and our final score became: 33m → 24m → 8m → 93s →82s → 27s → less than 17s 😆 Also, the productivity is 98.8%,