Exhibits, Demos & Posters
Compile-time Disambiguation of MATLAB Types through Concrete Interpretation with Automatic Runtime Fallback
- Chun-Yu Shei, Department of Computer Science, Indiana University
- Arun Chauhan, Department of Computer Science, Indiana University
While the popularity of MATLAB for scientific and engineering applications is unabated, its poor performance compared to traditional languages, such as Fortran or even C, for a general class of problems continues to impede its deployment in full-scale simulations and data analysis. To ameliorate performance, we have been developing a MATLAB and Octave compiler that leverages the interpreter to implement some of the optimizations as concrete partial evaluations. Specifically, this poster describes constant propagation and type inference, using a high-level tree-transformation tool that has built-in support for solving dataflow problems. The approach allows propagation and folding of constants in cases that would be impractically difficult otherwise. The idea, when extended to infer variable types, provides a natural way to disambiguate types at compile time while leaving the fallback code in place for runtime evaluation. Experimental evaluation on pieces of real MATLAB code demonstrates the effectiveness of the approach.