2

我需要分析一个脚本文件。我装饰了有问题的函数@profile并用于kernprof.py -l -v scriptfile.py运行分析器,它给了我下面列出的统计信息:

分配_dict[date_kw][objekt_id]['subs_kaa']=item[kaa_subs]需要 2.1µs,但被调用了大约 800 万次(这只是一小部分,最终有大约 6400 万次),并且脚本有更多的这些分配。

目标结构是一个dict(dict(dict(interger))).

是否有任何选项可以加快速度,即通过不同的方式复制值?

Line# Hits    TimePerHit % Time Line Contents
108   7977576 16362872   2.1    6.3  _dict[date_kw][objekt_id]['subs_kaa']=item[kaa_subs]
109   7977576 16251240   2.0    6.3  _dict[date_kw][objekt_id]['subs_kad']=item[kad_subs]
110   7977576 15967840   2.0    6.1  _dict[date_kw][objekt_id]['subs_kip']=item[kip_subs]
4

1 回答 1

1

您可以尝试用浅结构替换深层 dict 结构:

_dict[date_kw][objekt_id]['subs_kaa']=item[kaa_subs]  =>

_dict[ ( date_kw, objekt_id, 'subs_kaa' ) ]=item[kaa_subs]
于 2013-02-28T16:23:32.127 回答