octave: Vectorization and Faster Code Execution

 
 19 Vectorization and Faster Code Execution
 ******************************************
 
 Vectorization is a programming technique that uses vector operations
 instead of element-by-element loop-based operations.  Besides frequently
 producing more succinct Octave code, vectorization also allows for
 better optimization in the subsequent implementation.  The optimizations
 may occur either in Octave’s own Fortran, C, or C++ internal
 implementation, or even at a lower level depending on the compiler and
 external numerical libraries used to build Octave.  The ultimate goal is
 to make use of your hardware’s vector instructions if possible or to
 perform other optimizations in software.
 
    Vectorization is not a concept unique to Octave, but it is
 particularly important because Octave is a matrix-oriented language.
 Vectorized Octave code will see a dramatic speed up (10X–100X) in most
 cases.
 
    This chapter discusses vectorization and other techniques for writing
 faster code.
 

Menu