- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
当我调用 cProfile.run('myFunction1')
时,它会返回许多函数调用。
我想比较 myFunction 的各种版本并找到最有效的版本(例如复杂度最低的版本)。
函数调用
和复杂性
之间有什么联系?
函数调用描述了什么?
如果我有两个函数,函数调用次数最少的函数是否效率最高?
最佳答案
函数调用次数正是指:(子)函数调用次数。func 调用和复杂性之间没有严格的相关性。要找到最高效 的实现,您应该尝试将您的函数映射到不同的参数集并对其计时。使用 timeit模块。
计算一个函数的复杂性是一个过于宽泛的论点,无法给出一个单一的答案。这取决于算法本身及其调用的子函数的复杂度。
这里有更多信息:https://en.wikipedia.org/wiki/Analysis_of_algorithms
关于python - cProfile.run 函数调用与复杂性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17919242/
如何从一个函数中调用 cProfile,使用它来调用和分析另一个函数? 我有一个函数 start(),它是从我的网页调用的(使用 Django)。在此函数中,我放置了 cProfile 调用: cPr
我正在尝试在我的 python 脚本上运行 cProfile,我关心的是运行所需的总时间。有没有办法修改 python -m cProfile myscript.py 所以输出只是总时间? 最佳答案
对于初学者的问题很抱歉,但我无法弄清楚 cProfile(我真的是 Python 的新手) 我可以通过我的终端运行它: python -m cProfile myscript.py 但我需要在网络服务
我目前正在学习如何使用 cProfile,我有一些疑问。 我目前正在尝试分析以下脚本: import time def fast(): print("Fast!") def slow():
基本上,当我运行 cProfile 模块时,它会跳过一些函数,而普通的配置文件模块会产生此错误。 The debugged program raised the exception unhan
我附上了 Python 脚本的 cProfile 结果的屏幕截图。我知道第二行是指 arcpy 站点包中的地理处理函数。但是,我不清楚第一行指的是什么: C:\Program Files (x86)\
我想知道为什么我的基于 pyzmq 和 protobuf 的消息传递 ping-pong 比预期的要慢得多,所以我使用 cProfile 来检查您在本文末尾找到的脚本。 protoc --python
我正在尝试使用 cProfile 来分析一些 python 代码。我相信我需要使用 cProfile.runcall(),而不是 cProfile.run(),因为我要运行的方法是 self.func
我正在尝试用 python 分析我的项目,但内存不足。 我的项目本身相当占用内存,但在 cProfile 下运行时,即使是半大小的运行也会因“MemoryError”而终止。 进行较小的运行并不是一个
我正在尝试使用 cProfile.run 分析嵌套函数。我知道 cProfile 可能与我调用它的范围不在同一范围内运行,但我不太确定实现这一目标的惯用方法是什么。这是一个 MVCE: def foo
我有一个带有 @classmethod 的基类,它充当许多后代类中大量方法的装饰器。 class BaseClass(): @classmethod def some_decorato
我在一些代码上运行了 cprofile,除其他外,它产生了几个线程来完成大部分工作。当我查看分析的输出时,我没有看到线程内调用的所有函数的日志记录。我确定他们被调用了,因为他们做的事情很容易看到,例如
我开始使用 cProfile 来分析我的 python 脚本。我注意到一些非常奇怪的事情。 当我使用 time 来测量我的脚本的运行时间时,它需要 4.3 秒。 当我使用 python -m cPro
我试图使用 cProfile 对我的代码进行性能测试,但遗憾的是无论我如何尝试,cProfile 都无法正常运行。这是我所做的: import cProfile cProfile.run('addNu
我在 mymodule 中有这些文件 mymodule ├── config.py ├── __init__.py └── lib.py 有了这个简单的内容: # config.py NAME = "
我在一个名为 bot4CA.py 的模块上使用 cProfile,所以在控制台中我输入: python -m cProfile -o thing.txt bot4CA.py 模块运行并退出后,它会创建
我正在使用 cProfile 分析一个 Python 应用程序,我发现它的输出非常冗长。我正在使用此代码创建配置文件并将其可视化: PYTHONPATH=. \ python3 \ -
cProfile 在输出中显示了很多内置函数调用。我们可以将输出限制为我编写的代码吗?因此,在下面的示例中,我能否仅看到来自 testrun 的行或来自驻留在同一脚本中的 testrun() 调用的函
我从我的 cProfile 输出中获得了大约 300 个条目,每次使用它时都必须向上滚动很长时间。 有没有办法让 cProfile 只打印前 10 行之类的东西? 最佳答案 您可以按“累积”排序并使用
另一方面,timeit 运行代码 1,000,000 次,以获得与其他代码的合理渐近比较。 cProfile 仅运行代码一次,结果中只有 3 个小数位 (0.000),不足以了解完整情况。 你会得到如
我是一名优秀的程序员,十分优秀!