\subsubsection{Writing fast code} Improving the speed of the code can be done by optimizing the code's locality (both temporal and spatial locality). Computing a matrix product or iterating over a list can be much faster depending on the way you access the array and how it is stored. A common tactic to improve the throughput for these kinds of operations is to make sure that the order of operations is correct (i.e. for a row-major matrix to iterate over the elements of a row in the inner loop), or to do block multiplication where you multiply small blocks at once.