2015-05-21 64 views
1

我将用Pygame和PIL编程Python 3.4中的响应时间实验。 Python的内置时间函数是否足够准确,可以达到毫秒级的响应时间准确度? PyParallel是必要的,还是仅仅需要进行脑电或眼动追踪实验?响应时间准确度

+0

IIRC,'time.time'只是调用操作系统的定时功能。所以...取决于您的操作系统的准确性。 – Kevin

回答

2

Python的时间函数不是限制因素。根据您的特定计算机和操作系统,您可以获得微秒级的分辨率(受到多任务等各种注意事项的影响)。

真正的问题是硬件。如果您在USB键盘上收集响应(例如,具有不确定的滞后和变化性),毫秒时间分辨率毫无疑问。您需要指定您的硬件设置,并且如果需要毫秒时间,那么您将需要对时序性能进行基于硬件的验证。

您还需要指定您的特定任务的要求。如果你有很多试验平均结束,许多可怜的硬件分辨率就会消失。如果你比较不同条件下的反应变化,而不是对绝对反应时间感兴趣,那么常数滞后的影响就消失了(即使滞后时间未知)。

0

计算机可以比此任务更准确地追踪时间。以下内容打印出我在调用该函数后按输入所花费的时间。

>>> import time 
>>> def timing(): 
...  t = time.perf_counter() 
...  input('go!') 
...  print(time.perf_counter()-t) 
... 
>>> timing() 
go! 
0.09541451768191678 

只要你在等待用户的输入时没有做任何奇怪的阻塞的东西,内置的定时功能应该是绰绰有余的。

+0

你能澄清你'怪异的计时东西'是什么意思吗? – AppliedNumbers

+0

“Weird __blocking__ stuff” - 任何资源密集型进程,阻止进一步执行程序直至完成。 – TigerhawkT3