APP下载

关于EDKIIBuild工具的性能优化研究

2020-08-13朱勇洪

软件 2020年6期

摘  要: EDKII作为当前最流行的UEFI开源实现,其编译工具性能的提升是非常关键也是值得研究的,同时编译过程的快慢也是衡量这一框架的重要指标。通过使用cProfile对EDKII Build工具编译时间进行分析,在Pre-build阶段和Post-build阶段进行源代码的修改,实现了通过比较编译模块Autogen相关文件时间戳是否改变的方式来提升增量编译的性能和多线程产生平台固件文件的方式来提升整体编译的性能,采用这两方面的改进,使得Build工具编译达到更高的效率。最后在OVMF和KabyLake平台的编译过程中对上述两个优化方案进行了检测验证。

关键词: UEFI;EDKII;Build;性能优化

中图分类号: TP302.7    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2020.06.039

本文著录格式:朱勇洪. 关于EDKII Build工具的性能优化研究[J]. 软件,2020,41(06):192195

【Abstract】: With the wide use of EDKII framework, the performance of Build tool becomes more and more important. Analyze the Build tools performance by cProfile, then update the code of Pre-build phase and Post-build phase, use the method to skip module Autogen by comparing timestamp and multiple thread to generate the firmware files to enhance the tools performance. In the end this enhancement method has been verified on OVMF and KabyLake platforms build process.

【Key words】: UEFI; EDKII; Build; Performance

0  引言

软件厂商可以根据UEFI[1]标准开发属于自己的UEFI实现,其中最常用的开源实现便是EDKII[2]。EDKII是遵循UEFI标准和PI[3]标准的跨平台固件开发环境,EDKII Build Tool是其中的平台编译工具。该工具目前正在被UEFI社区、开发人员、测试人员及UEFI爱好者以日均数以几千次甚至上万次的频率在使用,对于一些简单平台的编译,该工具能够很快的完成编译,而对于一些复杂的服务器平台的编译,该工具往往需要20分钟甚至半小时以上的编译时间,那么这个效率就很难让使用者满意了。因而该工具的性能在使用过程中越来越被人们重视起来了。

本文通过cProfile对Build工具编译耗费时间比较长的过程进行分析,研究并实现了该工具在Pre-build阶段和Post-build阶段的一些优化方案,有效的为整个平台的编译过程简省编译时长,提升工具的整体性能。……

登录APP查看全文