Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python上使用numpy/scipy len()cProfile结果_Python_Numpy_Scipy_Cprofile - Fatal编程技术网

在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的函数,看看是否可以将值存储在某个地方以避免不必要的调用