Cache Conscious Programming
- Arrays are row-major in C
- Consider an
arr[i][j]
type of 2D array... - Then
for (j=0;j<N;j++) for (i=0;i<M;i++)
will be much slower thanfor (i=0;i<N;i++) for (j=0;j<M;j++)
due to the way of caching - Metrics show that it can be up to 35x slower