嵌套函数内的 cProfile
Posted
技术标签:
【中文标题】嵌套函数内的 cProfile【英文标题】:cProfile inside a nested function 【发布时间】:2018-06-25 17:59:36 【问题描述】:我正在尝试使用 cProfile.run
分析嵌套函数。我知道cProfile
可能与我调用它的范围不同,但我不太确定实现这一目标的惯用方法是什么。这是一个 MVCE:
def foo():
def bar():
# do something here
return 1
cProfile.run('bar()')
给出错误:
NameError: name 'bar' is not defined
【问题讨论】:
【参考方案1】:使用cProfile.runctx
:
def foo():
def bar():
# do something here
return 1
cProfile.runctx('bar()', None, locals=locals())
【讨论】:
【参考方案2】:使用 cProfile.run
def foo():
def bar():
# do something here
return 1
cProfile.run(bar.__code__)
【讨论】:
以上是关于嵌套函数内的 cProfile的主要内容,如果未能解决你的问题,请参考以下文章
使用具有多个参数和索引的lapply / sapply减少函数内的嵌套循环