我需要分析一个脚本文件。我用 @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]
请您参考如下方法:
您可以尝试用浅层结构替换深层字典结构:
_dict[date_kw][objekt_id]['subs_kaa']=item[kaa_subs] =>
_dict[ ( date_kw, objekt_id, 'subs_kaa' ) ]=item[kaa_subs]
