for i in {0..1000}; do dd if=/dev/zero of=$i bs=1M count=1; done
import threading
import time
def test(fn):
file = open(str(fn), "rb")
bytes = file.read(1)
file.close()
# print(fn, len(bytes))
def foo():
pass
if __name__ == "__main__":
ts = list()
start_time = time.perf_counter ()
for i in range(1000):
ts.append(threading.Thread(target=test, args=(i%1000,)))
# ts.append(threading.Thread(target=foo))
ts[-1].start()
for t in ts:
t.join()
end_time = time.perf_counter ()
print(end_time - start_time)
import threading
import time
def test(fn):
file = open(str(fn), "rb")
# bytes = file.read(1) 与 a.py 相比就仅仅注释了这一句
file.close()
# print(fn, len(bytes))
def foo():
pass
if __name__ == "__main__":
ts = list()
start_time = time.perf_counter ()
for i in range(1000):
ts.append(threading.Thread(target=test, args=(i%1000,)))
# ts.append(threading.Thread(target=foo))
ts[-1].start()
for t in ts:
t.join()
end_time = time.perf_counter ()
print(end_time - start_time)
在机械硬盘,固态上以及空载的结果分别是 0.07257
, 0.07181
, 0.0668
.二者的差距微乎其微.
我了解到 7200rpm 的机械硬盘随机 4k 的速度大概在 0.5MB 左右.[https://superuser.com/questions/1595841/very-slow-random-read-write-on-hdd]
根据我的测试可得 4kB * 1000 / (0.07257s - 0.0668s) = 693240.901 KB/s [滑稽] 小弟我疑惑万分, 不知是不是目前的测试仍然在硬盘的缓存之上,所以测不出实际性能,还是其他什么原因.希望有知晓老哥的提点一二.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.