Hi,

I'm looking for a difference between Numpy 0.19.5 and 0.20 which could explain 
a performance regression (~15 %) with Pythran.

I observe this regression with the script 
https://github.com/paugier/nbabel/blob/master/py/bench.py

Pythran reimplements Numpy so it is not about Numpy code for computation. 
However, Pythran of course uses the native array contained in a Numpy array. 
I'm quite sure that something has changed between Numpy 0.19.5 and 0.20 (or 
between the corresponding wheels?) since I don't get the same performance with 
Numpy 0.20. I checked that the values in the arrays are the same and that the 
flags characterizing the arrays are also the same.

Good news, I'm now able to obtain the performance difference just with Numpy 
0.19.5. In this code, I load the data with Pandas and need to prepare 
contiguous Numpy arrays to give them to Pythran. With Numpy 0.19.5, if I use 
np.copy I get better performance that with np.ascontiguousarray. With Numpy 
0.20, both functions create array giving the same performance with Pythran 
(again, less good that with Numpy 0.19.5).

Note that this code is very efficient (more that 100 times faster than using 
Numpy), so I guess that things like alignment or memory location can lead to 
such difference.

More details in this issue 
https://github.com/serge-sans-paille/pythran/issues/1735

Any help to understand what has changed would be greatly appreciated!

Cheers,
Pierre
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion

Reply via email to