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?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage