numpy.sum ist möglicherweise langsamer als Python for-loop
Beim Summieren eines Arrays über eine bestimmte Achse die dedizierte Array-Methodearray.sum(ax)
kann tatsächlich langsamer sein als eine for-Schleife:
v = np.random.rand(3,1e4)
timeit v.sum(0) # vectorized method
1000 loops, best of 3: 183 us per loop
timeit for row in v[1:]: v[0] += row # python loop
10000 loops, best of 3: 39.3 us per loop
Die vektorisierte Methode ist mehr als viermal langsamer als eine normale for-Schleife! Was ist hier los? Kann ich nicht darauf vertrauen, dass vektorisierte Methoden in numpy schneller sind als for-Schleifen?