Python - timeit不会停止

时间:2015-06-18 14:42:32

标签: python

我使用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

1 个答案:

答案 0 :(得分:4)

默认情况下,timeit()会尝试运行示例代码1000000次。流程启动和停止可能需要很长时间。您可以将数字传递给timeit()以使其运行较少的测试,例如

print(t.timeit(100))

只运行100次。