如何解读分析结果?

时间:2016-07-06 13:45:28

标签: python performance profile

我不是计算机科学家,而且我一直在努力让我的代理模型快速合理(Implementing Pool on a for loop with a lot of inputsMultiprocessing pool example (parallel) is slower than sequential. Trying to understand pool in pythonReturning lists of instances makes no difference? And what about performance?

每个人都一直告诉我要描述一下。我给了它另一个镜头,但我不知道如何解释结果(使用timeit我知道哪个函数更慢,但我无法使用Pool@jit)。

因此,鉴于以下结果,我该如何处理? 非常感谢。

98008290 function calls (96393650 primitive calls) in 568.193 seconds
Ordered by: standard name

ncalls  tottime  percall  cumtime  percall filename:lineno(function)
    1    0.000    0.000    0.000    0.000 <decorator-gen-0>:1(<module>)
    1    0.000    0.000    0.000    0.000 <decorator-gen-10>:1(<module>)
    1    0.000    0.000    0.000    0.000 <decorator-gen-11>:1(<module>)
    1    0.000    0.000    0.000    0.000 <decorator-gen-1>:1(<module>)
    6    0.000    0.000    0.006    0.001 <decorator-gen-1>:1(non_reentrant)
    1    0.000    0.000    0.000    0.000 <decorator-gen-2>:1(<module>)
    1    0.000    0.000    0.000    0.000 <decorator-gen-3>:1(<module>)
    1    0.000    0.000    0.000    0.000 <decorator-gen-4>:1(<module>)
    1    0.000    0.000    0.000    0.000 <decorator-gen-5>:1(<module>)
    1    0.000    0.000    0.000    0.000 <decorator-gen-6>:1(<module>)
    1    0.000    0.000    0.000    0.000 <decorator-gen-7>:1(<module>)
    1    0.000    0.000    0.000    0.000 <decorator-gen-8>:1(<module>)
    3    0.000    0.000    0.002    0.001 <decorator-gen-8>:1(_held_figure)
    1    0.000    0.000    0.000    0.000 <decorator-gen-9>:1(<module>)
 1416    0.003    0.000    0.003    0.000 <frozen importlib._bootstrap>:1000(__init__)
    2    0.000    0.000    0.000    0.000 <frozen importlib._bootstrap>:1003(module_repr)
 1245    0.034    0.000    0.166    0.000 <frozen importlib._bootstrap>:1019(init_module_attrs)
 1245    0.011    0.000    0.209    0.000 <frozen importlib._bootstrap>:1099(create)
 1245/32    0.008    0.000   23.613    0.738 <frozen importlib._bootstrap>:1122(_exec)
 169/105    0.003    0.000    4.104    0.039 <frozen importlib._bootstrap>:1156(_load_backward_compatible)
 1414/32    0.034    0.000   23.620    0.738 <frozen importlib._bootstrap>:1186(_load_unlocked)
   15    0.000    0.000    0.002    0.000 <frozen importlib._bootstrap>:1223(_fix_up_module)
 1650    0.002    0.000    0.006    0.000 <frozen importlib._bootstrap>:1266(find_spec)
   19    0.000    0.000    0.006    0.000 <frozen importlib._bootstrap>:1287(load_module)
 1245    0.019    0.000    0.019    0.000 <frozen importlib._bootstrap>:129(_new_module)
   19    0.000    0.000    0.000    0.000 <frozen importlib._bootstrap>:1311(is_package)
 1631    0.004    0.000    0.009    0.000 <frozen importlib._bootstrap>:1336(find_spec)
 1631    0.022    0.000    0.254    0.000 <frozen importlib._bootstrap>:1401(_open_registry)
 1631    0.034    0.000    0.307    0.000 <frozen importlib._bootstrap>:1408(_search_registry)
  139    0.000    0.000    0.000    0.000 <frozen importlib._bootstrap>:141(__init__)
 1631    0.006    0.000    0.314    0.000 <frozen importlib._bootstrap>:1423(find_spec)
  139    0.000    0.000    0.000    0.000 <frozen importlib._bootstrap>:144(__enter__)
  1245/32    0.022    0.000   23.612    0.738 <frozen importlib._bootstrap>:1465(exec_module)
  139    0.001    0.000    0.003    0.000 <frozen importlib._bootstrap>:147(__exit__)
  556    0.001    0.000    0.001    0.000 <frozen importlib._bootstrap>:148(<genexpr>)
 1245    0.055    0.000    2.437    0.002 <frozen importlib._bootstrap>:1534(get_code)
 1245    0.008    0.000    0.008    0.000 <frozen importlib._bootstrap>:1591(__init__)
 1245    0.001    0.000    0.001    0.000 <frozen importlib._bootstrap>:1616(get_filename)
 1245    0.941    0.001    1.037    0.001 <frozen importlib._bootstrap>:1621(get_data)
 1245    0.011    0.000    0.384    0.000 <frozen importlib._bootstrap>:1631(path_stats)
  120    0.001    0.000    0.001    0.000 <frozen importlib._bootstrap>:1697(__init__)
  120/92    0.004    0.000    4.087    0.044 <frozen importlib._bootstrap>:1708(load_module)
 1888    0.017    0.000    0.066    0.000 <frozen importlib._bootstrap>:172(__init__)
  120    0.001    0.000    0.006    0.000 <frozen importlib._bootstrap>:1726(is_package)
  240    0.001    0.000    0.001    0.000 <frozen importlib._bootstrap>:1729(<genexpr>)
  181    0.058    0.000    0.128    0.001 <frozen importlib._bootstrap>:1853(_path_hooks)
 2614    0.012    0.000    0.142    0.000 <frozen importlib._bootstrap>:1870(_path_importer_cache)
  135    0.002    0.000    0.461    0.003 <frozen importlib._bootstrap>:1887(_legacy_get_spec)
 1631    0.035    0.000    2.252    0.001 <frozen importlib._bootstrap>:1902(_get_spec)
 2857    0.033    0.000    0.035    0.000 <frozen importlib._bootstrap>:192(acquire)
 1631    0.009    0.000    2.261    0.001 <frozen importlib._bootstrap>:1934(find_spec)
  179    0.006    0.000    0.012    0.000 <frozen importlib._bootstrap>:1979(__init__)
 1253    0.001    0.000    0.001    0.000 <frozen importlib._bootstrap>:1985(<genexpr>)
 1365    0.016    0.000    0.055    0.000 <frozen importlib._bootstrap>:2011(_get_spec)
 2335    0.118    0.000    1.603    0.001 <frozen importlib._bootstrap>:2016(find_spec)
  178    0.016    0.000    0.100    0.001 <frozen importlib._bootstrap>:2061(_fill_cache)
  178    0.003    0.000    0.004    0.000 <frozen importlib._bootstrap>:2090(<setcomp>)
  179    0.002    0.000    0.071    0.000 <frozen importlib._bootstrap>:2102(path_hook_for_FileFinder)
 7719    0.012    0.000    0.017    0.000 <frozen importlib._bootstrap>:2120(__enter__)
 7719    0.013    0.000    0.020    0.000 <frozen importlib._bootstrap>:2124(__exit__)
 1176    0.007    0.000    0.019    0.000 <frozen importlib._bootstrap>:2138(_find_spec_legacy)
1650/1648    0.097    0.000    2.739    0.002 <frozen importlib._bootstrap>:2147(_find_spec)
 2857    0.031    0.000    0.033    0.000 <frozen importlib._bootstrap>:217(release)
  216    0.001    0.000    0.001    0.000 <frozen importlib._bootstrap>:2187(_sanity_check)
 1730/92    0.045    0.000   23.736    0.258 <frozen importlib._bootstrap>:2207(_find_and_load_unlocked)
 1730/92    0.057    0.000   23.753    0.258 <frozen importlib._bootstrap>:2234(_find_and_load)
 216/214    0.004    0.000    0.051    0.000 <frozen importlib._bootstrap>:2240(_gcd_import)
338220/334774    1.206    0.000   10.385    0.000 <frozen importlib._bootstrap>:2264(_handle_fromlist)
108/107    0.001    0.000    0.052    0.000 <frozen importlib._bootstrap>:2322(__import__)
 1730    0.006    0.000    0.006    0.000 <frozen importlib._bootstrap>:257(__init__)
 1730    0.017    0.000    0.134    0.000 <frozen importlib._bootstrap>:261(__enter__)
 1730    0.007    0.000    0.033    0.000 <frozen importlib._bootstrap>:268(__exit__)
 2857    0.040    0.000    0.106    0.000 <frozen importlib._bootstrap>:274(_get_module_lock)
 1888    0.003    0.000    0.003    0.000 <frozen importlib._bootstrap>:288(cb)
 1127    0.011    0.000    0.044    0.000 <frozen importlib._bootstrap>:293(_lock_unlock_module)
 2335    0.007    0.000    0.007    0.000 <frozen importlib._bootstrap>:30(_relax_case)
 1804/32    0.007    0.000   23.649    0.739 <frozen importlib._bootstrap>:313(_call_with_frames_removed)
 2490    0.035    0.000    0.140    0.000 <frozen importlib._bootstrap>:437(cache_from_source)
 2490    0.008    0.000    0.014    0.000 <frozen importlib._bootstrap>:45(_r_long)
 9163    0.047    0.000    0.132    0.000 <frozen importlib._bootstrap>:50(_path_join)
 9990    0.024    0.000    0.024    0.000 <frozen importlib._bootstrap>:518(_verbose_message)
 9163    0.050    0.000    0.071    0.000 <frozen importlib._bootstrap>:52(<listcomp>)
 1365/1155    0.007    0.000    4.094    0.004 <frozen importlib._bootstrap>:534(_check_name_wrapper)
   38    0.000    0.000    0.006    0.000 <frozen importlib._bootstrap>:546(_requires_builtin_wrapper)
 2618    0.042    0.000    0.063    0.000 <frozen importlib._bootstrap>:56(_path_split)
 1245    0.055    0.000    0.070    0.000 <frozen importlib._bootstrap>:599(_validate_bytecode_header)
 1245    0.017    0.000    0.823    0.001 <frozen importlib._bootstrap>:654(_compile_bytecode)
 5307    0.020    0.000    1.598    0.000 <frozen importlib._bootstrap>:68(_path_stat)
    2    0.000    0.000    0.000    0.000 <frozen importlib._bootstrap>:690(_module_repr)
 1245    0.003    0.000    0.003    0.000 <frozen importlib._bootstrap>:728(__init__)
 1245    0.004    0.000    0.004    0.000 <frozen importlib._bootstrap>:732(__enter__)
 1245    0.017    0.000    0.032    0.000 <frozen importlib._bootstrap>:739(__exit__)
 4980    0.005    0.000    0.005    0.000 <frozen importlib._bootstrap>:742(<genexpr>)
 1727    0.014    0.000    0.597    0.000 <frozen importlib._bootstrap>:78(_path_is_mode_type)
 1801    0.016    0.000    0.016    0.000 <frozen importlib._bootstrap>:790(__init__)
 2490    0.017    0.000    0.104    0.000 <frozen importlib._bootstrap>:824(cached)
 1245    0.008    0.000    0.010    0.000 <frozen importlib._bootstrap>:842(parent)
 1247    0.001    0.000    0.001    0.000 <frozen importlib._bootstrap>:850(has_location)
49/48    0.001    0.000    0.464    0.010 <frozen importlib._bootstrap>:859(spec_from_loader)
 1547    0.006    0.000    0.547    0.000 <frozen importlib._bootstrap>:87(_path_isfile)
 1395    0.020    0.000    0.487    0.000 <frozen importlib._bootstrap>:884(spec_from_file_location)
  180    0.001    0.000    0.057    0.000 <frozen importlib._bootstrap>:92(_path_isdir)
    1    0.000    0.000    0.000    0.000 <string>:1(<module>)
    1    0.000    0.000    0.000    0.000 <string>:1(error)
    1    0.000    0.000    0.000    0.000 <string>:11(com_error)
  313    0.001    0.000    0.001    0.000 <string>:12(__new__)
    1    0.000    0.000    0.000    0.000 <string>:2(<module>)
    1    0.000    0.000    0.000    0.000 <string>:2(__init__)
    4    0.000    0.000    0.000    0.000 <string>:2(_parse_args)
    1    0.000    0.000    0.000    0.000 <string>:5(AndersonResult)
    1    0.000    0.000    0.000    0.000 <string>:5(Anderson_ksampResult)
    1    0.000    0.000    0.000    0.000 <string>:5(AnsariResult)
    1    0.000    0.000    0.000    0.000 <string>:5(ArgInfo)
    1    0.000    0.000    0.000    0.000 <string>:5(ArgSpec)
    1    0.000    0.000    0.000    0.000 <string>:5(Arguments)
    1    0.000    0.000    0.000    0.000 <string>:5(ArrayFormula)
    1    0.000    0.000    0.000    0.000 <string>:5(Attribute)
    1    0.000    0.000    0.000    0.000 <string>:5(BartlettResult)
    1    0.000    0.000    0.000    0.000 <string>:5(BinnedStatistic2dResult)
    1    0.000    0.000    0.000    0.000 <string>:5(FlignerResult)
    1    0.000    0.000    0.000    0.000 <string>:5(Formula)
    1    0.002    0.002    0.002    0.002 <string>:5(FriedmanchisquareResult)
    1    0.000    0.000    0.000    0.000 <string>:5(FullArgSpec)
    1    0.000    0.000    0.000    0.000 <string>:5(FunctionAttributes)
    1    0.000    0.000    0.000    0.000 <string>:5(HistogramResult)
19424    2.346    0.000    2.346    0.000 {pandas.algos.take_2d_axis1_object_object}
82904    0.318    0.000    0.318    0.000 {pandas.index.get_value_at}
  199    0.051    0.000    0.051    0.000 {pandas.lib.clean_index_list}
   57    0.002    0.000    0.002    0.000 {pandas.lib.get_blkno_indexers}
 2918    0.095    0.000    0.095    0.000 {pandas.lib.infer_dtype}
   38    0.001    0.000    0.001    0.000 {pandas.lib.is_bool_array}
   76    0.000    0.000    0.000    0.000 {pandas.lib.is_bool}
166001    0.169    0.000    0.169    0.000 {pandas.lib.is_float}
249112    0.215    0.000    0.215    0.000 {pandas.lib.is_integer}
   20    0.000    0.000    0.000    0.000 {pandas.lib.is_timedelta_array}
   38    0.002    0.000    0.002    0.000 {pandas.lib.isnullobj}
414822    1.023    0.000    1.023    0.000 {pandas.lib.isscalar}
   11    0.054    0.005    0.054    0.005 {pandas.lib.maybe_convert_numeric}
   56    0.006    0.000    0.006    0.000 {pandas.lib.maybe_convert_objects}
    3    0.000    0.000    0.018    0.006 {pandas.lib.reduce}
   65    0.009    0.000    0.105    0.002 {pandas.lib.scalar_compare}
   28    0.001    0.000    0.001    0.000 {pandas.lib.to_object_array_tuples}
415734    2.533    0.000    4.116    0.000 {pandas.lib.values_from_object}
   20    0.000    0.000    0.000    0.000 {pandas.tslib.is_timestamp_array}
   48    0.001    0.000    0.001    0.000 {reduce.nansum}

2 个答案:

答案 0 :(得分:2)

我还建议flamegraphs来解释分析结果。它与PyFlame特别有效,它是一个PTracing剖析器(它具有最小的开销)。

火焰图如下所示: enter image description here

答案 1 :(得分:0)

您可能希望使用一些可用的工具来分析/可视化cProfile输出,例如pstatsRunShakeRun