Python的time模块是否足够可靠用于测量响应时间?
我上次的问题不够具体,所以这是关于这个话题的第二个问题。
我正在进行一些实验,需要精确测量参与者回答问题的时间,单位是毫秒。
我知道可以使用时间模块来做到这一点,但我在想这样做是否足够可靠,或者我是否需要小心使用它。我担心其他随机的CPU负载会不会影响到时间的测量。
所以我的问题是,用时间模块测量的响应时间会不会非常准确,还是会有一些干扰?
谢谢,
Joon
2 个回答
1
如果你在一个*nix系统上进行性能测试(大多数情况下是Linux),那么time.clock()
会返回CPU使用的时间,单位是秒。单独使用这个函数得到的结果并不是很有用,但如果你用它来计算时间差,比如说t0 = time.clock(); some_process(); t = time.clock() - t0
,这样你就能得到一个不受其他负载影响的时间测量,比用time.time()
要准确得多。
2
CPU的负载会影响到时间的计算。如果你的应用程序没有得到足够的CPU时间,那么时间的计算就会受到影响。对此你也无能为力。你只能做到尽量精确。确保你的程序能获得足够的CPU时间,这样结果就会比较准确。在大多数情况下,结果应该能精确到毫秒。