首页 > 解决方案 > 如何计算代码在python中运行了多少次

问题描述

我正在构建一个工具来输出代码在 python 中运行的次数。例如,当输入是

def fib(n):
    if n <= 1:
        return n
    return fib(n-1) + fib(n-2)

输出将是

def fib(n):                            21891
    if n <= 1:                         10946
        return n                       10946
    return fib(n-1) + fib(n-2)          8000
fib(20)                                    1

右边的数字显示代码运行了多少次。

我所做的是将函数重写为

def fib(n):
    dic["count_0"] += 1
    if n <= 1:
        dic["count_6"] += 1
        return n
        dic["count_7"] += 1
    return fib(n-1) + fib(n-2)
    dic["count_8"] += 1
fib(20)
dic["count_10"] += 1

然后处理边缘情况,如评论或return关键字。我想知道有没有其他方法可以做到这一点,而不需要像这样的许多黑客。

标签: pythonprofiling

解决方案


推荐阅读