这似乎完全由LLVM能够进行的优化驱动。如果我用clang编译cython示例,则两个示例之间的性能是相同的。就其价值而言,Windows上的MSVC表现出与numba类似的性能差异。
$ CC=clang ipython<... setup pre>In [7]: %timeit cy_where(data) # 179ms ...: %timeit nb_where(data) # 49ms (!!)30.8 ms ± 309 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)30.2 ms ± 498 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)



