当我调用cProfile.run('myFunction1')
时,它会返回许多函数调用。
我想比较各种版本的myFunction并找到最有效的版本(例如复杂性最低)。
function calls
和complexity
之间的联系是什么?
函数调用描述了什么?
如果我有两个函数,那么函数调用次数最少的函数效率最高吗?
答案 0 :(得分:1)
函数调用的数量正是其意思:(子)函数调用的数量。 func调用和复杂性之间没有严格的相关性。 要找到最强高效实现,您应该尝试将函数映射到不同的参数集并对其进行计时。使用timeit模块。
计算函数的复杂性对于单个答案来说是一个过于宽泛的论据。这取决于算法本身及其调用的子函数的复杂性。
此处了解更多信息:https://en.wikipedia.org/wiki/Analysis_of_algorithms