每次循环后,Python保存到磁盘的速度变慢

时间:2016-03-02 06:16:21

标签: python linux file numpy io

在Linux系统上通过numpy.save()保存速度超过1000loops。是什么导致了这个问题?

from time import time
import numpy as np

arr = np.ones([1080, 1920, 3], dtype=np.uint8)
path = "/tmp/testArray.{0}"

runrange = range(1000)

for i in runrange :
    t = time()
    np.save(path.format(i), arr)
    print time()-t

开始取0.011,然后升至0.106,最终收益于0.19

1 个答案:

答案 0 :(得分:0)

我知道这是一个古老/古老的帖子。但是,我无法重现问题行为 - 如果有的话,随着时间的推移它会变得稍微快一些。

from time import time

from matplotlib import pyplot as plt
import numpy as np

arr = np.ones((1080, 1920, 3), dtype=np.uint8)
path = "testArray.{0}"
times = []

for i in range(1_000):
    t = time()
    np.save(path.format(i), arr)
    times.append((time() - t) * 1_000)

plt.figure(figsize=(9, 9))
plt.plot(range(1_000), times)
plt.savefig('time.png')

使用 Python 3.9.1numpy==1.20.1 在 Win10 上测试