我使用Python3,Ubuntu 14.04来运行以下代码段。 timing()函数永远不会终止。我想这是由于Timer()函数。为什么?我该如何解决?
import subprocess
def timing():
args = ("./a.out")
print('start')
popen = subprocess.Popen(args, stdout=subprocess.PIPE)
popen.wait()
print('end')
if __name__ == '__main__':
import timeit
print('main')
t=timeit.Timer("timing()","from __main__ import timing")
print(t.timeit())
在终端中显示:
main
start
end
start
end
start
...
代码的骨架来自this answer。
答案 0 :(得分:4)
默认情况下,timeit()
会尝试运行示例代码1000000
次。流程启动和停止可能需要很长时间。您可以将数字传递给timeit()
以使其运行较少的测试,例如
print(t.timeit(100))
只运行100次。