问题描述
试图在一个非常简单的脚本中完成此操作只是为了好玩,区别非常惊人:
在large.py中:
target = open('target.txt', 'w')
for item in xrange(4000000):
target.write(str(item)+'\n')
print item
计时:
[gp@imdev1 /tmp]$ time python large.py
real 1m51.690s
user 0m10.531s
sys 0m6.129s
gp@imdev1 /tmp]$ ls -lah target.txt
-rw-rw-r--. 1 gp gp 30M Nov 8 16:06 target.txt
现在运行时用“打印”注释掉:
gp@imdev1 /tmp]$ time python large.py
real 0m2.584s
user 0m2.536s
sys 0m0.040s
解决方法
我有一个Python脚本,可以处理一个巨大的文本文件(大约4毫米行),并将数据写入两个单独的文件中。
我添加了一条print语句,该语句为调试的每一行输出一个字符串。我想知道从性能角度看情况有多糟?
如果情况非常糟糕,我可以删除调试行。
编辑
事实证明,对于具有400万行的文件中的每一行都具有打印语句,会使时间增加太多。