问题标签 [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:
这将重复f()
100000 次。
但是,我想做这样的事情:
这将f()
尽可能多地重复,直到达到 5 秒。
在timeit中是否有类似的东西,或者我必须自己制作一个 while 循环?
python - Python函数是否将输入参数复制到函数?
我在 Python 中有以下示例:
不使用函数 (time1) 与使用函数 (time2) 的时间比较是:
两种方法之间似乎存在细微差别。函数的输入参数是如何处理的solver
,它们是被复制的还是只是传递给函数的内部?
python - python中的Timeit模块无法正确运行
我正在尝试将 timeit 模块用于 python,它看起来好像 timeit 源代码中有错误(尽管这似乎不正确)。
这是正在运行的代码片段:
我在运行它时收到以下错误:
我知道错误很可能发生在键盘和椅子之间,但我收到的错误似乎表明 timeit 模块中的空格/制表符不正确。到底是怎么回事???
python - 无法使用 pip 安装 timeit。我怎样才能解决这个问题?
我正在尝试安装 timeit 但这就是我得到的:
python - 为什么迭代一个小字符串比一个小列表慢?
我在玩 timeit 并注意到对一个小字符串执行简单的列表理解比对一个小的单个字符串列表执行相同的操作花费更长的时间。有什么解释吗?这几乎是时间的 1.35 倍。
导致这种情况的较低级别发生了什么?
python - Python 的 timeit 模块为多次重复返回的时间单位是多少?
我读到 timeit 模块返回的时间单位是秒。
但是,如果我有多次重复,例如
我是否必须将结果除以 1000 才能获得每个循环的实际秒数,还是它已经说明了这一点?
python - Python timeit 命令行错误:“SyntaxError:扫描字符串文字时 EOL”
我已经使用 Python timeit模块很长时间了,但它只是通过交互式 Python 会话或 Unix shell。现在,我正在尝试在 Windows 命令提示符 ( cmd.exe ) 中测量一些代码片段,但它显示了这个错误:
这相当令人困惑,因为我没有在字符串中插入任何换行符 - 相反,我实际上直接从 timeit 模块文档中粘贴了示例。
在玩这个时,我尝试测试没有任何空格的片段,因为错误标记了它们之前的字符。即使现在没有发生异常,该模块也会报告相同的执行时间,就像我传递了一条pass
语句一样,如下所示:
我确信我正确地调用了该模块,因为我在 Unix shell 上粘贴了相同的行并且它们按预期工作。
由于我使用 Python 2.7 和 3.3 得到完全相同的结果(另外,该模块是用纯 Python 编写的,并且已经存在了很长时间)我确信这与 Python 无关,但是 Windows 命令提示符,反而。
那么,为什么这种奇怪的行为会准确发生,我该如何解决呢?
python - 为什么 timeit 不适用于我的代码片段?
我认为这 3 个在逻辑上是等价的,返回集合{1, 3, 4}
:
但是,当我尝试检查 ipython(python 3.4.0 上的 v1.2.1)中每个的性能时,timeit 魔法失败了。
这里发生了什么?在 2.7 中也失败了。我无法使用 vanilla pythontimeit.timeit
方法重现这一点。
python - 执行期间的类方法性能测试
我有一个包含要由另一个类methodM使用的methodT的类,我想计算methodT的运行时间。
这是我尝试过的事情
使用方法 A,我可以得到一个结果,但我认为与 timeit 给出的结果相比,它的准确度较低。
但是,使用方法 B,timeit 将产生 NameError 因为它无法识别 self.run_process
我已经阅读了这篇文章,并尝试添加 timewrapper 方法
它对我不起作用,因为它给出了NameError: global name 'timewrapper' is not defined
.
我的问题是如何使用 timeit 正确实现方法 B?
注意:我不能使用核心 python 以外的模块
python - 为什么使列表唯一的 list+set 方法比字典键方法更快?
这是相同的 timeit 试用示例:
如您所见,list(set(MY_LIST)) 方法比字典方法快大约 2.5 倍,对于较小的列表或较大的列表,结果相似。
谁能解释一下为什么会这样,即这两个步骤的执行功能在时间复杂度方面的差异?