Skip to main content
 首页 » 编程设计

python之分析、检测和改进分配性能

2025年05月04日7java哥

我需要分析一个脚本文件。我用 @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]