Believe it or not, after profiling my current code, the repetitive operation of numpy array reversion ate a giant chunk of the running time. What I have right now is the common view-based method:
reversed_arr = arr[::-1]
Is there any other way to do it more efficiently, or is it just an illusion from my obsession with unrealistic numpy performance?
Best Answer
When you create
reversed_arr
you are creating a view into the original array. You can then change the original array, and the view will update to reflect the changes.Are you re-creating the view more often than you need to? You should be able to do something like this:
I'm not a numpy expert, but this seems like it would be the fastest way to do things in numpy. If this is what you are already doing, I don't think you can improve on it.
P.S. Great discussion of numpy views here:
View onto a numpy array?