public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-staging/BaseToolsOpt]: Add new branch BaseToolsOpt
@ 2017-05-31  4:57 Gao, Liming
  2017-05-31 11:21 ` Laszlo Ersek
  0 siblings, 1 reply; 3+ messages in thread
From: Gao, Liming @ 2017-05-31  4:57 UTC (permalink / raw)
  To: edk2-devel@lists.01.org; +Cc: Kinney, Michael D

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.gao@intel.com>
Zhu, Yonghong <yonghong.zhu@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.

Thanks
Liming


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [edk2-staging/BaseToolsOpt]: Add new branch BaseToolsOpt
  2017-05-31  4:57 [edk2-staging/BaseToolsOpt]: Add new branch BaseToolsOpt Gao, Liming
@ 2017-05-31 11:21 ` Laszlo Ersek
  2017-06-01  8:56   ` Gao, Liming
  0 siblings, 1 reply; 3+ messages in thread
From: Laszlo Ersek @ 2017-05-31 11:21 UTC (permalink / raw)
  To: Gao, Liming, edk2-devel@lists.01.org; +Cc: Kinney, Michael D

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.gao@intel.com>
> Zhu, Yonghong <yonghong.zhu@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



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [edk2-staging/BaseToolsOpt]: Add new branch BaseToolsOpt
  2017-05-31 11:21 ` Laszlo Ersek
@ 2017-06-01  8:56   ` Gao, Liming
  0 siblings, 0 replies; 3+ messages in thread
From: Gao, Liming @ 2017-06-01  8:56 UTC (permalink / raw)
  To: Laszlo Ersek, edk2-devel@lists.01.org; +Cc: Kinney, Michael D

Laszlo:
  Yes. We will analyze cProfile data and optimize the parse logic. 

Thanks
Liming
>-----Original Message-----
>From: Laszlo Ersek [mailto:lersek@redhat.com]
>Sent: Wednesday, May 31, 2017 7:21 PM
>To: Gao, Liming <liming.gao@intel.com>; edk2-devel@lists.01.org
>Cc: Kinney, Michael D <michael.d.kinney@intel.com>
>Subject: Re: [edk2] [edk2-staging/BaseToolsOpt]: Add new branch
>BaseToolsOpt
>
>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.gao@intel.com>
>> Zhu, Yonghong <yonghong.zhu@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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-06-01  8:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-31  4:57 [edk2-staging/BaseToolsOpt]: Add new branch BaseToolsOpt Gao, Liming
2017-05-31 11:21 ` Laszlo Ersek
2017-06-01  8:56   ` Gao, Liming

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox