- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑这段 Python3 代码:
def classic_fibonacci(limit: int) -> List[int]:
nums = []
curr, nxt = 0, 1
while curr < limit:
curr, nxt = nxt, nxt + curr
nums.append(curr)
return nums
def classic_fib_profiling():
for n in classic_fibonacci(limit=1000):
print(n, end=', ')
if __name__ == '__main__':
import timeit
timeit.timeit("classic_fib_profiling()", setup="from __main__ import classic_fib_profiling")
如预期的那样,调用 classic_fib_profiling()
会返回一个斐波那契数列,仅限于 limit
参数。
另一方面,使用 timeit.timeit
调用它会导致解释器进入无限循环,永不停止。我无法通过调试或搜索文档(和 SO)找到解决方案。任何帮助将不胜感激。
最佳答案
它不会进入无限循环。它将运行相同的函数 number
次(默认值:number=1000000
)。只需等待它完成,或提供循环应运行的次数。检查 timeit.timeit
函数的参数。
Help on function timeit in module timeit:
timeit(stmt='pass', setup='pass', timer=, number=1000000, globals=None) Convenience function to create Timer object and call timeit method.
改变行从,
>>> timeit.timeit("classic_fib_profiling()", setup="from __main__ import classic_fib_profiling")
到
>>> timeit.timeit("classic_fib_profiling()", setup="from __main__ import classic_fib_profiling", number=1)
并观察 :)
关于Python timeit 模块导致死循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57900514/
我正在使用 timeit.timeit 函数来计时我自己的函数之一,但返回的时间是科学计数法。 import timeit def func(): ... print(timeit.timei
我正在尝试编写一个简单的时间装饰器来测量函数所花费的时间。但是下面的代码给出了我们的递归错误。有什么问题吗? import timeit def measure(func): def wrap
import timeit t=timeit.timeit('x=map(lambda x:x*10,range(32))') print(t) 这表现了: 0.4678139 但 t=timeit.
我一直在尝试执行一个代码片段来了解执行需要多长时间。我尝试了两种选择来做到这一点。一种是在 timeit.timeit 函数内使用变量并进行检查。另一种是直接使用值并检查。第二种方法工作正常,但我在使
假设我有一些函数接受一个数组并将每个元素更改为 0。 def function(array): for i in range(0,len(array)): array[i] =
有没有办法在 python 中为 timeit.timeit() 函数指定拆卸?我知道有关于“声明”和“设置”的争论,但我还没有找到执行拆卸的好方法。 在我的“声明”中包含拆解代码会影响我尝试计时的代
有时,我喜欢计算我的部分代码运行需要多长时间。我检查了很多在线网站,并且看到了两种主要的方法来做到这一点。一种是使用time.time,另一种是使用timeit.timeit。 所以,我写了一个非常简
我想从 python timeit 模块检查打印以下内容需要多少时间,如何打印, import timeit x = [x for x in range(10000)] timeit.timeit("
我在 Project Euler 上工作过问题并决定添加计时,因此通过以下代码段将 timeit 添加到时间 main()(将全局 RESULT 存储在 main( ) 为了方便起见) t = tim
当我执行 help('timeit') 时,位于 timeit 模块(Python(2.7) 标准库)中的以下函数不会显示。 def reindent(src, indent): """Hel
考虑这段 Python3 代码: def classic_fibonacci(limit: int) -> List[int]: nums = [] curr, nxt = 0, 1
令人惊讶的 ipython 魔法 %timeit 错误: In[1]: a = 2 In[2]: %timeit a = 2 * a Traceback (most recent call last)
我有一个函数 f(x),它将 0 和 1 之间的 100 个随机 float 的列表 x 作为输入。不同的列表将导致不同的运行时间f. 我想知道 f 在大量不同的随机列表上平均运行多长时间。最好的方法
我想检查在合并 2 个数据帧时使用数字查找值是否比使用字符串查找值更快。为此,我将 %timeit 与以下代码一起使用: 合并字符串查找值: %timeit newframe = subframe.m
我正在计时从 python set 和 list 中删除元素。我的列表 timeit 代码引发了 ValueError: ... x not in list,但仅当我使用 timeit 运行不止一次迭
我想以便宜的方式测量函数的执行时间,如下所示: def my_timeit(func, *args, **kwargs): t0 = time.time() result = func
我想在 Python 3.5 中使用 timeit 来测量两个函数。第一个依赖于 import math,第二个依赖于 from math import log2。虽然我可以通过在调用 timeit.
更新:显然我只是在计时 Python 读取列表的速度。但这并没有真正改变我的问题。 所以,我前几天读了 this post 并想比较一下速度。我对 Pandas 还不熟悉,所以每当我看到有机会做一些比
假设这样一个数据 In [51]: data = list(range(10**6))
谁能解释一下为什么会这样? aatiis@aiur ~ $ time python /usr/lib64/python2.7/timeit.py -n 1 \ -- 'x = 10**1000
我是一名优秀的程序员,十分优秀!