【发布时间】:2021-06-27 01:59:56
【问题描述】:
当我运行以下代码时,
import numpy as np
import ctypes
src = np.zeros(10000, dtype=np.uint8)
dest = np.zeros(10000, dtype=np.uint8)
%timeit ctypes.memmove(dest.ctypes.data, src.ctypes.data, 10)
%timeit ctypes.memmove(dest.ctypes.data, src.ctypes.data, 10000)
在我的笔记本电脑上,输出是
42.2 µs ± 5.62 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
用于复制 10 个字节并且是
41.4 µs ± 3.48 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
用于复制 10000 个字节。
我的问题是:为什么 ctypes.memmove 对于不同大小的大小需要恒定的时间?
【问题讨论】: