I'm currently trying to optimize a piece of code I've written (at present
it takes around 85 hours to finish, so there's some way to go...)
and have hence checked out the Fast Numeric Computation
<http://julialang.org/blog/2013/09/fast-numeric/> post on the Julia blog.
One issue that was new to me as a former Matlab
user was the importance of the order of calculations (row vs. column order)
when working with large matrices.
I was wondering how this applies to higher dimensional arrays. In my
problem, I am working on an Array{Float64,5}, the dimensions
of which are around [12, 11, 10, 1000, 40]. Due to the nature of my
problem, I have to work through this backwards on the last dimension,
from 40 to 1, but for each of the Array{Float64,4}'s [12, 11, 10, 1200, i]
I could work through the elements in any order.
Would it be preferable to loop over the "first" dimension first, or the
largest dimension first, or do something else entirely?