擅长:python、mysql、java
<p>事实上,正如
<a href="https://stackoverflow.com/a/64111777/8082086#8082086">Crivella</a>似乎更有效。我正在添加一个仅限numpy的版本,它似乎比<code>itertools</code>快2倍左右:</p>
<pre class="lang-py prettyprint-override"><code>target_size = 256
... # Same as above
def do_new():
t0 = time()
grid = np.meshgrid(*3*[np.arange(target_size)], indexing='ij')
grid = grid[::-1]
grid = np.stack(grid).T
ret = interpol(grid)
print(f"{time()-t0}")
return ret
c1 = improved_method()
c2 = do_new()
print((c1==c2).all())
</code></pre>
<p>输出:</p>
<pre><code>IMPROVED METHOD: 13.865211009979248
6.268443584442139
True
</code></pre>