Profile-based Vectorization for MATLAB
Résumé
In recent years, MATLAB just-in-time (JIT) interpreter has improved the execution time of for-loops to a level where
loops can outperform equivalent array operations in some scenarios. This has allowed systematic translation of loops
to array operations, a prevalent approach for performance improvement in MATLAB, to sometimes yield a performance
loss. Therefore, we propose a selective strategy to loop translation with selection criteria guided by loop profiling data.
As a result, only loops with a high performance speedup potential are selected for translation to array operations. Our
experimental results confirm the efficiency of our approach and illustrate the cases where systematic translation lead to
performance degradation.