On 05/31/17 06:57, Gao, Liming wrote:
> Hi All,
>   I would like to add new branch BaseToolsOpt in edk2-staging for BaseTools 
> build performance optimization. Here is its Readme.MD. Please help review.
> 
> Readme.MD:
> This branch is used to optimize BaseTools build performance. It bases on edk2 
> repo UDK2017 branch.
> 
> The branch owner:
> Gao, Liming <liming....@intel.com>
> Zhu, Yonghong <yonghong....@intel.com>
> 
> ## Feature Introduction
> BaseTools supports more and more features. They will take more build time. To 
> reduce build overhead, some points have been 
> identified to be optimized. POC code will be added in this branch for 
> evaluation.
> 1) Enable the multiple thread in GenFds phase.
> 2) Support to merge multiple drivers into one. It should save the link time. 
> But, it doesn't save much in the multiple build. 
>    Besides, this feature can save the image size when the image is not 
> compressed, such as PEI images.
> 3) Reduce the extra copy actions in build process.
> 4) Analyze cProfile data and enhance the parser logic. 
> https://bugzilla.tianocore.org/show_bug.cgi?id=42
> 
> ## Timeline
> Target for 2017 Q3
> 
> ### NOTES
> Most changes in this branch are BaseTools. To apply them, user needs to run 
> BaseTools 
> from sources. In Linux, BaseTools run from source. In Windows, BaseTools can 
> run from source. And, Reconfig option is also 
> required to apply new config settings in BaseTools\Conf. The step is like 
> below:
> 1. enter into edk2
> 2. set PYTHON_HOME=C:\Python27
> 3. type edksetup.bat --nt32 Reconfig
> 4. nmake -f BaseTools\Makefile
> 5. type build command to build platform.

This looks very valuable to me.

Another spot where "build" spends quite a bit of time is the initial
metadata parsing. Perhaps there are some gains to be made there. I guess
the profile data referenced under point (4) above, and in BZ#42, will
help analyze that step.

Thanks!
Laszlo

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to