擅长:python、mysql、java
<p>以下代码作为参考:</p>
<pre><code>#pythran export mb_r(float64[], float64[])
import numpy as np
def mb_r(forecasted_array, observed_array):
return np.abs(forecasted_array[:,None] - observed_array).sum()
</code></pre>
<p>在纯CPython上以以下速度运行:</p>
^{pr2}$
<p>当用<a href="https://github.com/serge-sans-paille/pythran" rel="nofollow noreferrer">Pythran</a>编译时,我得到</p>
<pre><code>% pythran -march=native -DUSE_BOOST_SIMD mbr.py
% python -m perf timeit -s 'import numpy as np; x = np.random.rand(400); y = np.random.rand(400); from mbr import mb_r' 'mb_r(x, y)'
.....................
Mean +- std dev: 65.8 us +- 1.7 us
</code></pre>
<p>所以大概是一个x10加速,在一个带有AVX扩展的核心上。在</p>