在python上使用numpy/scipy len()cProfile结果
可能重复:在python上使用numpy/scipy len()cProfile结果,python,numpy,scipy,cprofile,Python,Numpy,Scipy,Cprofile,可能重复: 我使用了cProfile来找出我在python代码上花费了大部分时间的方法,下面是对“percall”排序后的输出: 我发现方法len()花费了我大部分时间: 53515/533 330 930 0 940 00{len} 但是,我知道len()调用会调用python对象\uuuu len\uuuu()方法,我怎么知道哪个python类/对象花费我最多 我使用的是python 2.6.5,并使用以下命令运行脚本: python -m cProfile myscript.p
我使用了
cProfile
来找出我在python代码上花费了大部分时间的方法,下面是对“percall”排序后的输出:
我发现方法len()
花费了我大部分时间:
53515/533 330 930 0 940 00{len}
但是,我知道len()
调用会调用python对象\uuuu len\uuuu()
方法,我怎么知道哪个python类/对象花费我最多
我使用的是python 2.6.5,并使用以下命令运行脚本:
python -m cProfile myscript.py
事实上,我的代码将使用
pythonnumpy
,scipy
,并使用牛顿方法进行数值优化。我相信计算目标函数的梯度花费了我大部分的时间,我想找出花费这么多的原因。cProfile为每个函数提供了两次:在该函数内花费的总时间(包括子函数)和在该函数内花费的总时间(不包括子函数)。为了检测瓶颈,你通常会根据这两个指标考虑最大的成本。
在你的例子中,我会寻找大量调用len的函数,看看是否可以将值存储在某个地方以避免不必要的调用