I am sorry but it doesn't make much sense. How do you measure the performance? Are you sure you include the creation of the "c" output array in the time spent (which is outside the for loop but should be considered anyway)?
Here are my results... In [84]: a = np.random.rand(8,26) In [85]: b = np.random.rand(8) In [86]: def o(a,b): ....: c = np.empty_like(a) ....: for i in range(len(a)): ....: c[i] = a[i] + b[i] ....: return c ....: In [87]: d = a + b[:,None] In [88]: (d == o(a,b)).all() Out[88]: True In [89]: %timeit o(a,b) %ti10000 loops, best of 3: 36.8 µs per loop In [90]: %timeit d = a + b[:,None] 100000 loops, best of 3: 5.17 µs per loop In [91]: a = np.random.rand(80000,26) In [92]: b = np.random.rand(80000) In [93]: %timeit o(a,b) %ti10 loops, best of 3: 287 ms per loop In [94]: %timeit d = a + b[:,None] 100 loops, best of 3: 15.4 ms per loop _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion