更智能的成员的最编码社区超我!我对你们都有一个蟒蛇问题......:)
我正在尝试优化一个python脚本,该脚本(以及其他内容)返回子进程执行和终止的挂钟时间。我觉得我很接近这样的事情。
startTime = time.time()
process = subprocess.Popen(['process', 'to', 'test'])
process.wait()
endTime = time.time()
wallTime = endTime - startTime
但是,我担心subprocess.Popen()
的开销会在旧版和异国情调的平台上夸大我的结果。我的第一个倾向是通过运行一个简单的无害命令以某种方式计算subprocess.Popen()
引起的开销。比如linux上的以下内容。
startTime = time.time()
process = subprocess.Popen(['touch', '/tmp/foo'])
process.wait()
endTime = time.time()
overheadWallTime = endTime - startTime
或Windows上的以下内容。
startTime = time.time()
process = subprocess.Popen(['type', 'NUL', '>', 'tmp'])
process.wait()
endTime = time.time()
overheadWallTime = endTime - startTime
那么,在python中进行计时时,如何考虑subprocess.Popen()
开销?
或者,从subprocess.Popen()
中抽取开销的无害方式是什么?
或者,也许还有一些我还没有考虑过的事情?
需要注意的是,解决方案必须合理地跨平台。