[Numpy-discussion] swaxes(0, 1) 10% faster than transpose on 2D matrix?

Keith Goodman kwgoodman@gmail....
Thu Jan 19 12:53:17 CST 2012


On Thu, Jan 19, 2012 at 1:37 AM, Mark Bakker <markbak@gmail.com> wrote:

> I noticed that swapaxes(0,1) is consistently (on my system) 10% faster than
> transpose on a 2D matrix.

Transpose is faster for me. And a.T is faster than a.transpose()
perhaps because a.transpose() checks that the inputs make sense? My
guess is that they all do the same thing. It's just a matter of which
function has the least overhead.

I[10] a = np.random.rand(1000,1000)
I[11] timeit a.T
10000000 loops, best of 3: 153 ns per loop
I[12] timeit a.transpose()
10000000 loops, best of 3: 171 ns per loop
I[13] timeit a.swapaxes(0,1)
1000000 loops, best of 3: 227 ns per loop
I[14] timeit np.transpose(a)
1000000 loops, best of 3: 308 ns per loop


More information about the NumPy-Discussion mailing list