编码社区的成员比我更聪明!我有一个 python 问题要问你们...:)
我正在尝试优化一个 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
那么,我应该如何解释subprocess.Popen()
在 python 中计时时的开销?
或者,什么是一种无害的方式来采样开销subprocess.Popen()
?
或者,也许还有什么我还没有考虑到的?
需要注意的是,该解决方案必须是合理的跨平台的。