gpt4 book ai didi

python - 如何使用 cProfile 获得更精细的结果

转载 作者:太空宇宙 更新时间:2023-11-04 04:42:28 25 4
gpt4 key购买 nike

我有一个正在分析的小片段,但是 list comprehension 被列为调用中的一个项目

import fileinput
import cProfile

pr = cProfile.Profile()
pr.enable()
x = [float(i) for i in range(0, 10**8)]
pr.disable()
pr.print_stats(sort='time')

输出:

     2 function calls in 19.769 seconds

Ordered by: internal time

ncalls tottime percall cumtime percall filename:lineno(function)
1 19.769 19.769 19.769 19.769 sandboxMinimalCProfile.py:6(<listcomp>)
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}

是否有可能获得例如转换为 float 的成本是多少?

最佳答案

这里的问题是 float 是内置函数,因此它们不算作对分析器的调用。

您可以尝试解决它;但是,分析器在任何情况下都不是为微基准测试而设计的。相反,试试 timeit standard module :

$ python3 -m timeit 'float(1000000)'
10000000 loops, best of 3: 0.118 usec per loop

关于python - 如何使用 cProfile 获得更精细的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50355351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com