KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
What is the difference between np.sum and np.add.reduce ? While the docs are quite explicit: For example, add.reduce() is equivalent to sum(). The performance of the two seems to be quite different: for relatively small array sizes add.reduce is about twice faster. $ python -mtimeit -s"import numpy as np; a = np.random.rand(100); summ=np.sum" "summ(a)" 100000 loops, best of 3: 2.11 usec per loop $ python -mtimeit -s"import numpy as np; a = np.random.rand(100); summ=np.add.reduce" "summ(a)" 1000000 loops, best of 3: 0.81 usec per loop $ python -mtimeit -s"import numpy as np; a = np.random.rand(1000); summ=np.sum" "summ(a)" 100000 loops, best of 3: 2.78 usec per loop $ python -mtimeit -s"import numpy as np; a = np.random.rand(1000); summ=np.add.reduce" "summ(a)" 1000000 loops, best of 3: 1.5 usec per loop For larger array sizes, the difference seems to go away: $ python -mtimeit -s"import numpy as np; a = np.random.rand(10000); summ=np.sum" "summ(a)" 100000 loops, best of 3: 10.7 usec per loop $ python -mtimeit -s"import numpy as np; a = np.random.rand(10000); summ=np.add.reduce" "summ(a)" 100000 loops, best of 3: 9.2 usec per loop
Tags (comma-separated)
Save Edits
Cancel