Using Destination-Passing Style to Compile a Functional Language into Efficient Low-Level Code
- Amir Shaikhha ,
- Andrew Fitzgibbon ,
- Simon Peyton Jones ,
- Dimitrios Vytiniotis
Workshop on Functional High-Performance Computing |
Published by ACM
We show how to compile high-level functional array-processing programs, drawn from image processing and machine learning, into C code that runs as fast as hand-written C. The key idea is to transform the program to destination passing style, which in turn enables a highly-efficient stack-like memory allocation discipline.