Python GNU时间(1)报告错误的I/O计数
在fedora 16上,一个小程序的运行时间(1)报告“24个输出”,该程序只对一个文件进行10次1024字节的写入。我希望I/O计数为10。注意,如果我在程序上运行strace,我可以看到10个write()调用。 那么,时间(1)报告的I/O计数是多少? 非常感谢Python GNU时间(1)报告错误的I/O计数,python,time,gnu,Python,Time,Gnu,在fedora 16上,一个小程序的运行时间(1)报告“24个输出”,该程序只对一个文件进行10次1024字节的写入。我希望I/O计数为10。注意,如果我在程序上运行strace,我可以看到10个write()调用。 那么,时间(1)报告的I/O计数是多少? 非常感谢 #!/usr/bin/python import os import pdb SIZE_IO=1024 IONB=10 def test1(file): #pdb.set_trace() buffer= '\
#!/usr/bin/python
import os
import pdb
SIZE_IO=1024
IONB=10
def test1(file):
#pdb.set_trace()
buffer= '\x01' * SIZE_IO
fd = os.open(file, os.O_CREAT|os.O_RDWR, 0777)
for ix in range(IONB):
len = os.write(fd, buffer)
print len
os.close(fd)
return 1
if name__== "__main":
test1("ttt.txt")
print 'ok'
不是每次打印都会导致写入吗?摘自
时间(1)
手册页的准确性部分:
“%I”和“%O”值据称只是“实”输入和输出
并且不包括缓存设备提供的那些。意义
对于工作站,'%I'和'%O'报告的'real'I/O的数量可能会混乱,
尤其是无盘的
请向我们展示您运行的命令以及“小程序”。#/usr/bin/python导入操作系统大小IO=1024 IONB=10 def test1(文件):#pdb.set_trace()buffer='\x01'*SIZE_IO fd=os.open(文件,os.O_create | os.O_RDWR,0777)用于范围内的ix(IONB):len=os.write(fd,buffer)os.close(fd)如果name_uuuu==“uu main”:test1(“ttt.txt”)返回1打印“ok”和您使用的
time
命令,以及输出?另外,请验证我的格式。/usr/bin/time./template.py 0.10用户0.02系统0:00.13经过98%的CPU(0avgtext+0avgdata 4700maxresident)k 0输入+24输出(0major+1308minor)页面故障0swapsI不知道如何格式化。请把它放在你的问题中。嗨,删除print()没有影响。计数保持不变