小编jli*_*256的帖子

Numpy 就地操作性能

我正在将 numpy 数组就地操作与常规操作进行比较。这是我所做的(Python 3.7.3 版):

    a1, a2 = np.random.random((10,10)), np.random.random((10,10))
Run Code Online (Sandbox Code Playgroud)

为了进行比较:

    def func1(a1, a2):
        a1 = a1 + a2

    def func2(a1, a2):
        a1 += a2

%timeit func1(a1, a2)
%timeit func2(a1, a2)
Run Code Online (Sandbox Code Playgroud)

因为就地操作避免了为每个循环分配内存。我期望func1func2.

但是我得到了这个:

In [10]: %timeit func1(a1, a2)
595 ns ± 14.4 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

In [11]: %timeit func2(a1, a2)
1.38 µs ± 7.87 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops …
Run Code Online (Sandbox Code Playgroud)

python numpy

11
推荐指数
2
解决办法
844
查看次数

标签 统计

numpy ×1

python ×1