From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 6072E21AF39A4 for ; Wed, 31 May 2017 04:20:31 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 1A0BD80C1F; Wed, 31 May 2017 11:21:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 1A0BD80C1F Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=lersek@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 1A0BD80C1F Received: from lacos-laptop-7.usersys.redhat.com (ovpn-116-14.phx2.redhat.com [10.3.116.14]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4CE555DC1F; Wed, 31 May 2017 11:21:30 +0000 (UTC) To: "Gao, Liming" , "edk2-devel@lists.01.org" Cc: "Kinney, Michael D" References: <4A89E2EF3DFEDB4C8BFDE51014F606A14D742AB6@shsmsx102.ccr.corp.intel.com> From: Laszlo Ersek Message-ID: <92b5bac9-cc46-4048-ad06-57787e87eedf@redhat.com> Date: Wed, 31 May 2017 13:21:29 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14D742AB6@shsmsx102.ccr.corp.intel.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Wed, 31 May 2017 11:21:31 +0000 (UTC) Subject: Re: [edk2-staging/BaseToolsOpt]: Add new branch BaseToolsOpt X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 May 2017 11:20:31 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit 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 > Zhu, Yonghong > > ## 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