나는 컴퓨터 과학자 아니다 나는프로파일 링 결과를 해석하는 방법은 무엇입니까?
모두가 프로파일 말해 유지 (Implementing Pool on a for loop with a lot of inputs, Multiprocessing pool example (parallel) is slower than sequential. Trying to understand pool in python, Returning 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}
이 모두인가? 코드가 다중 처리 또는 프로파일 러의 "도달 할 수없는"것을 사용할 수 있습니까? 나는 "tottime"의 합계가 전체 시간 (568.193)과 대략 같아야한다고 생각했을 것이다. – syntonym
'ncalls'은 함수가 얼마나 자주 호출되었는지를 알려주고,'tottime'은 그 함수에서 소비 한 총 시간을 나타냅니다. 당신은 대부분 내장 된 데코레이터와 importlib 호출을 무시하기를 원할 것입니다. 왜냐하면 처음에는 그것들에 대해 많은 것을 할 수 없기 때문에, 그리고 어쨌든 많은 리소스를 차지하지 않기 때문입니다. 가장 많은 호출 횟수와 가장 높은 총 시간을 가진 함수를 살펴보면 프로그램이 모든 시간을 소비하는 곳을 알 수 있습니다. 이제 그 시간 및/또는 호출 횟수를 줄이기 위해 노력하십시오. – deceze
@deceze 함수 호출에 소비 된 총 시간이 2.5 초 (pandas.lib.values_from_object) 인 것 같습니다. 그래서 함수 호출을 지우더라도 응용 프로그램의 속도를 최대 2.5 초로 높이면 안됩니까? 10 분의 총 시간과 비교하면 그렇게 많이하지 않는 것 같습니까? 프로그램이 많은 시간을 보내거나 출력을 잘못 읽었습니까? – syntonym