Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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
使用cProfile分析numpy没有提供有用的结果_Numpy_Cprofile - Fatal编程技术网

使用cProfile分析numpy没有提供有用的结果

使用cProfile分析numpy没有提供有用的结果,numpy,cprofile,Numpy,Cprofile,此代码: import numpy as np import cProfile shp = (1000,1000) a = np.ones(shp) o = np.zeros(shp) def main(): np.divide(a,1,o) for i in xrange(20): np.multiply(a,2,o) np.add(a,1,o) cProfile.run('main()') 仅打印: 3 functio

此代码:

import numpy as np
import cProfile

shp = (1000,1000)
a = np.ones(shp)
o = np.zeros(shp)

def main():
    np.divide(a,1,o)
    for i in xrange(20):
        np.multiply(a,2,o)
        np.add(a,1,o)

cProfile.run('main()')
仅打印:

         3 function calls in 0.269 seconds

   Ordered by: standard name

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000    0.269    0.269 <string>:1(<module>)
        1    0.269    0.269    0.269    0.269 testprof.py:8(main)
        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Prof
iler' objects}

但是cProfile仍然将所有调用都称为
ff

如何在Python函数中包装相关调用

def mul(*args):
    np.multiply(*args)
def add(*args):
    np.add(*args)

def main():
    np.divide(a,1,o)
    for i in xrange(20):
        mul(a,2,o)
        add(a,1,o)
这基本上就是本SO线程中关于改进分析粒度的想法——它分析函数调用,而不是行


要点,但这对于我的真实生活分析来说太麻烦了。我尝试了一些自动包装,但是失败了(如果你想的话,请参见编辑),我甚至尝试了这个:但是也有一些地方出了问题。
def mul(*args):
    np.multiply(*args)
def add(*args):
    np.add(*args)

def main():
    np.divide(a,1,o)
    for i in xrange(20):
        mul(a,2,o)
        add(a,1,o)