栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在文件中写入海量数据的最快方法

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在文件中写入海量数据的最快方法

观察到的“缓慢”的两个主要原因:

  • 您的while循环很慢,大约有一百万次迭代。
  • 您没有正确使用I / O缓冲。不要进行太多系统调用。目前,您正在拨打
    write()
    约一百万次。

首先在Python数据结构中创建数据,然后

write()
仅调用 一次

这样更快:

t0 = time.time()open("bla.txt", "wb").write(''.join(random.choice(string.ascii_lowercase) for i in xrange(10**7)))d = time.time() - t0print "duration: %.2f s." % d

输出:

duration: 7.30 s.

现在,该程序将大部分时间花费在生成数据上,即

random
填充数据。您可以轻松替换
random.choice(string.ascii_lowercase)
为例如
"a"
。然后,在我的机器上,所测量的时间降至一秒以下。

而且,如果您想进一步了解写入磁盘时机器的速度,请在写入磁盘之前使用Python最快的(?)方式生成较大的数据:

>>> t0=time.time(); chunk="a"*10**7; open("bla.txt", "wb").write(chunk); d=time.time()-t0; print "duration: %.2f s." % dduration: 0.02 s.


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/639601.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号