<div dir="auto">Performance is an incredibly multi-dimensional thing. Modern computers are incredibly complex, with layers of interacting caches, different microarchitectural features (do you have AVX2? does your cpu's branch predictor interact in a funny way with your workload?), compiler optimizations that vary from version to version, ... and different parts of numpy are affected differently by an these things.<div dir="auto"><br></div><div dir="auto">So, the only really reliable answer to a question like this is, always, that you need to benchmark the application you actually care about in the contexts where it will actually run (or as close as you can get to that).<div dir="auto"><br></div><div dir="auto">That said, as a general rule of thumb, the main difference between different numpy builds is which BLAS library they use, which primarily affects the speed of numpy's linear algebra routines. The wheels on pypi use either OpenBLAS (on Windows and Linux), or Accelerate (in MacOS. The conda packages provided as part of the Anaconda distribution normally use Intel's MKL.</div><div dir="auto"><br></div><div dir="auto">All three of these libraries are generally pretty good. They're all serious attempts to make a blazing fast linear algebra library, and much much faster than naive implementations. Generally MKL has a reputation for being somewhat faster than the others, when there's a difference. But again, whether this happens, or is significant, for *your* app is impossible to say without trying it.</div><div dir="auto"><br></div><div dir="auto">-n</div></div></div><br><div class="gmail_quote"><div dir="ltr">On Sun, May 27, 2018, 08:32 PIERRE AUGIER <<a href="mailto:pierre.augier@univ-grenoble-alpes.fr">pierre.augier@univ-grenoble-alpes.fr</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I don't know if it is a good place to ask such questions. As advised here <a href="https://www.scipy.org/scipylib/mailing-lists.html#stackoverflow" rel="noreferrer noreferrer" target="_blank">https://www.scipy.org/scipylib/mailing-lists.html#stackoverflow</a>, I first posted a question on stackoverflow:<br>
<br>
<a href="https://stackoverflow.com/questions/50475989/efficiency-of-numpy-wheels-and-simple-benchmark-for-numpy-installations" rel="noreferrer noreferrer" target="_blank">https://stackoverflow.com/questions/50475989/efficiency-of-numpy-wheels-and-simple-benchmark-for-numpy-installations</a><br>
<br>
Since I got no feedback, I try here. My questions are:<br>
<br>
- When we care about performance, is it a good practice to rely on wheels (especially for Numpy)? Will it be slower than using (for example) a conda built Numpy?<br>
<br>
- Are there simple commands to benchmark Numpy installations and get a good idea of their overall performance?<br>
<br>
I explain a little bit more in the stackoverflow question...<br>
<br>
Pierre Augier<br>
_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@python.org" target="_blank" rel="noreferrer">NumPy-Discussion@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/numpy-discussion" rel="noreferrer noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/numpy-discussion</a><br>
</blockquote></div>