问题标签 [timeit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 使用 timeit 为不同的测试语句只运行一次设置代码
使用timeit
,我有一个setup
代码块,它设置了一个填充有虚拟数据的数据结构,并且我有两个语句(比如test1
和test2
),它们以不同的方式从这个数据结构中检索数据。
当我做
我注意到设置运行了两次,每次测试一次。是否可以使两个测试共享相同的设置,即只运行setup
一次代码块并使用为两个测试创建的完全相同的数据结构?
python - `ns` 和 `us` 在 `timeit` 结果中代表什么?
我试图将两个语句的性能与 进行比较timeit
,结果类似于:
但是我不知道这些ns
和us
代表什么,所以我不知道哪个更快。
python - 如何知道网站的响应时间?
可能重复:
测量服务器的 ping 延迟 - Python
我想知道目前哪些链接的响应时间最短。我应该怎么办?
我正在考虑:timeit 或 ping 服务器。
如果您能给我一个样品或任何想法,我将不胜感激,谢谢。:)
python - 在 timeit() 中从同一模块调用方法时导入错误
我想使用方法getExecutionTime()测量 Python 方法sayHello()的执行时间。它们都在一个模块中,并且getExecutionTime() -方法应该可以从外部调用。
代码如下所示:
我不断收到 ImportError 说:“无法在文件中导入名称 sayHello ...”
我在 Timer 构造函数中添加了范围参数 ( "from __main__ import sayHello"
),以使sayHello()方法在 timeit 范围内可用。
注意:我不想在此方法的主要部分调用 getExecutionTime(),我想从其他地方调用该方法。
任何人都可以帮忙吗?谢谢。
python - Python 的 timeit(...) 方法在这段代码中实际计时的是什么代码?
我想测量 A0 算法在大小为 n 的列表上完成其工作所需的时间,但我找不到生成列表然后将其作为变量传递给 timeit.timeit(.. 。) 方法。计时器是否仅测量 A0 完成所需的时间,还是列表生成也包含在测量中?
python - 将 lambda 函数作为变量传递给 timeit 中的另一个函数
我有一个名为的 Python 函数func
,我正在尝试使用timeit
.
func
接受一个参数,f
,这也是一个函数。在我正在编写的程序中,它是一个 lambda 函数,但它也可以是一个定期定义的函数。重要的是这个函数的源代码不可用func
,所有可用的只是对它的引用。
我正在尝试做的事情:
我收到一个错误,指出f
未定义。
其他一切工作正常。当我打电话时:
并将函数更改为:
一切正常,所以我知道有关该timeit
功能的一切都很好。
但这不是testTimingOfFunc
工作原理。传入的是函数引用,而不是字符串。
关于如何将我f
作为参数传递给func
in的任何想法timeit
?
python - 使用 Timeit (python) 测量背景变化和声音播放的延迟
我需要弄清楚发送命令以更改背景颜色或播放声音与使用 timeit 实际发生的这些事件之间的延迟。(我在 Windows 上,Python 2.73)
我正在做一个反应时间测试,我会在更改背景颜色或播放声音之前记录时间(使用 time.clock())。然后,当受试者按下一个键时,我再次记录时间并取差以找到反应时间。
对于声音播放,这就是我所做的:
0.999 是Windows XP Error.wav的持续时间(以秒为单位)。
这给了我大约 56 毫秒的时间。我不确定它是否合理,是否正确,以及我是否应该启用垃圾收集?
对于背景变化,我遇到了更多问题。由于我在全屏模式下进行测试,因此我尝试将所有这些都放入设置参数中:
即使我用 ; 将它们分开 我仍然遇到语法错误。当我不是全屏尝试时
setup = 'from Tkinter import Tk; root=Tk(); root.mainloop()'
,窗口实际上会打开,但什么也没有发生,如果我关闭它,我会看到其他错误。Invalid command name "."
我实际测量的语句是root.configure(background='red')
.
python - python-2.7 timeit 函数崩溃
出于某种原因,Python-2.7timeit
函数在以下示例中崩溃:
显然,我可以分配给(第一个示例),我可以a
比较(第二个示例),那么为什么我不能运行第三个示例?!?!当然,正在计时的声明本身就是完美的……a
a+b
python - 背后的逻辑是什么为timeit设计?
我是 Python 新手,我想我会在 Project Euler 上解决问题,同时做一些具体的事情。
我遇到了对不同解决方案进行计时的想法,以查看它们如何相互评价。然而,这个简单的任务对我来说太复杂了。我读到这些time.clock()
调用在 unix 系统上不够准确(秒分辨率对于现代处理器来说简直是可悲的)。因此,我偶然发现了该timeit
模块,它似乎是分析任务的首选。
我不得不说我真的不明白他们为什么要以这种违反直觉的方式去做。我似乎无法让它工作,而无需重写/重组我的代码,我觉得这非常令人沮丧。
看下面的代码,不要介意它既不漂亮也不特别有效:
如果我想为这条线计时,print lfactor(number)
为什么我应该经历一堆循环,试图定义一个设置语句等。我理解为什么人们想要拥有与正在测试的代码分离的调试工具(la unit testing ) 但不应该有一种简单直接的方法来获得一大块代码的处理时间而没有太多麻烦(导入/定义设置等)吗?我在这里的想法类似于这样做的方式:
.. 使用 tic/toc 命令,使用 MATLAB 甚至更好:
希望这不会让人觉得这是一种咆哮,我真的在努力理解“pythonian 的思维方式”,但老实说,这并不是自然而然的,根本不是......