Can partial evaluation improve the performance of ray tracing?

This short paper reports our experience on using runtime partial evaluation to improve the performance of ray tracing. By exploiting constant information on objects and light during the ray tracing process, we can produce a specialized ray tracer which runs up to two times faster than the unspecialized version. Thanks to the integration of a partial evaluator into an interpreter, specialization is achieved simply by inserting a pe command. Although the implementation is still prototypical, the experimental results show that partial evaluation does have a role in ray tracing.