From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.136; helo=mga12.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (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 91FD5211A1E27 for ; Thu, 13 Dec 2018 06:01:28 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Dec 2018 06:01:27 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,349,1539673200"; d="scan'208";a="101259793" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga008.jf.intel.com with ESMTP; 13 Dec 2018 06:01:27 -0800 Received: from fmsmsx102.amr.corp.intel.com (10.18.124.200) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 13 Dec 2018 06:01:27 -0800 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by FMSMSX102.amr.corp.intel.com (10.18.124.200) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 13 Dec 2018 06:01:26 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.203]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.59]) with mapi id 14.03.0415.000; Thu, 13 Dec 2018 22:01:24 +0800 From: "Gao, Liming" To: Leif Lindholm CC: "Carsey, Jaben" , "edk2-devel@lists.01.org" Thread-Topic: [edk2] [Patch] BaseTools: Optimize string concatenation Thread-Index: AQHUd0wuZdRpmIU9fEmXGehtph5Jy6VFkjQAgACwswCAAIy0AIACaieAgCXcgwCACGCMAIAAFtqAgAAHaACAAVK/gIACNuAAgADsnkCAABedAIAAxqng Date: Thu, 13 Dec 2018 14:01:23 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E38C4D7@SHSMSX104.ccr.corp.intel.com> References: <08650203BA1BD64D8AD9B6D5D74A85D15FFFBED5@SHSMSX101.ccr.corp.intel.com> <20181109114840.txogb6tz5u23o4ng@bivouac.eciton.net> <08650203BA1BD64D8AD9B6D5D74A85D15FFFCFF1@SHSMSX101.ccr.corp.intel.com> <08650203BA1BD64D8AD9B6D5D74A85D1600264F9@SHSMSX101.ccr.corp.intel.com> <20181210104736.dbvh5czprog6pe3x@bivouac.eciton.net> <08650203BA1BD64D8AD9B6D5D74A85D16002A384@SHSMSX101.ccr.corp.intel.com> <20181210123554.ti56dhmlnswgkjqj@bivouac.eciton.net> <08650203BA1BD64D8AD9B6D5D74A85D16002ADCC@SHSMSX101.ccr.corp.intel.com> <20181212183714.c4gxwinvwukrqync@bivouac.eciton.net> <4A89E2EF3DFEDB4C8BFDE51014F606A14E38BD5F@SHSMSX104.ccr.corp.intel.com> <20181213100838.rsdafatvfruhtf43@bivouac.eciton.net> In-Reply-To: <20181213100838.rsdafatvfruhtf43@bivouac.eciton.net> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMWUyZmNjN2UtMGRmNy00NTRmLWE2OTgtMTFjNWVjYTI0YWUzIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiOTk2SWErUk5yaEZCYzBiNUI3UExLYm9veE9oSXphN1JTcU9yNitTU3p1Nmh3TTVRKzdCeitKRzJpVHkrZ0NRciJ9 dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [Patch] BaseTools: Optimize string concatenation X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Dec 2018 14:01:28 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Leif: Agree your point to prepare the data before the patch instead of after th= e patch.=20 Thanks Liming > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Le= if Lindholm > Sent: Thursday, December 13, 2018 6:09 PM > To: Gao, Liming > Cc: Carsey, Jaben ; edk2-devel@lists.01.org > Subject: Re: [edk2] [Patch] BaseTools: Optimize string concatenation >=20 > Hi Liming, >=20 > Yes, this is fine. > But for future submissions, I would like for this sort of information > to be provided at the time of posting. >=20 > Not the full breakdown, but "reduceces build time of platform XXX on > hardware YYY by A%/B seconds". >=20 > Ideally, more than one platform and more than one hardware should be > provided, but at least during this initial improvement phase I'm also > happy for the assumption being that unless someone else complains, > it's fine on others. >=20 > Regards, >=20 > Leif >=20 > On Thu, Dec 13, 2018 at 01:50:35AM +0000, Gao, Liming wrote: > > Leif: > > Kabylake platform is the real Intel hardware. The MinKabylake is the= minimal feature of the Kabylake BIOS. Here is MinKabylake > BIOS code https://github.com/tianocore/edk2-platforms/tree/devel-MinPlatf= orm > > Bob adds the build performance data of MinKabylake into https://bugzi= lla.tianocore.org/show_bug.cgi?id=3D1288. > > > > The original build performance data: > > Build Duration: 00:02:23 > > AutoGen Duration: 00:00:42 > > Make Duration: 00:01:12 > > GenFds Duration: 00:00:27 > > > > After apply the patch, clean build performance is reduced from 2:23 to = 1:57. So, I think his patch improves build performance. > > Build Duration: 00:01:57 > > AutoGen Duration: 00:00:23 > > Make Duration: 00:01:12 > > GenFds Duration: 00:00:21 > > > > Thanks > > Liming > > >-----Original Message----- > > >From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of= Leif > > >Lindholm > > >Sent: Thursday, December 13, 2018 2:37 AM > > >To: Feng, Bob C > > >Cc: Carsey, Jaben ; edk2-devel@lists.01.org; G= ao, > > >Liming > > >Subject: Re: [edk2] [Patch] BaseTools: Optimize string concatenation > > > > > >On Tue, Dec 11, 2018 at 08:48:19AM +0000, Feng, Bob C wrote: > > >> Hi Leif, > > >> > > >> I understand your concern. > > >> > > >> I collected another performance data set based on open source > > >> MinKabylake platform and updated the BZ > > >> https://bugzilla.tianocore.org/show_bug.cgi?id=3D1288. The data look= s > > >> better than Ovmf. It enabled multiple SKU. > > >> > > >> Before I sent those patch, I did verify them on intel real > > >> platforms. It improves the build performance. But it's not > > >> convenient to share those data. > > > > > >So, I have two comments on this: > > >1) How can it be inconvenient to share information on build times? I > > > don't even care what the names or codenames for those platforms > > > are. If you are unable to tell us why what you have done matters, > > > the code changes do not belong in the public tree. > > > Clearly having good performance numbers for public platforms is the > > > easiest solution for this problem. > > >2) Submissions of improvements to build system performance should be > > > verified building real platforms. It should not be a question of > > > "find some other platform to get numbers from once we have improved > > > performance for building our confidential platforms". > > > > > >Regards, > > > > > >Leif > > >> > > >> Thanks, > > >> Bob > > >> > > >> -----Original Message----- > > >> From: Leif Lindholm [mailto:leif.lindholm@linaro.org] > > >> Sent: Monday, December 10, 2018 8:36 PM > > >> To: Feng, Bob C > > >> Cc: edk2-devel@lists.01.org; Carsey, Jaben ;= Gao, > > >Liming > > >> Subject: Re: [edk2] [Patch] BaseTools: Optimize string concatenation > > >> > > >> On Mon, Dec 10, 2018 at 12:09:23PM +0000, Feng, Bob C wrote: > > >> > For the "customized deepcopy" and "cache for uni file parser" data= , > > >> > you can see the AutoGen is not slower. The whole Build Duration is > > >> > longer because Make Duration is longer while Make Duration time > > >> > depends on the external make, compiler and linker. So it's not the > > >> > patch make the build slow down. > > >> > > > >> > Yes, it's not faster either. I think that because the Ovmf platfo= rm > > >> > is relatively simple. From the build tool source code point of vi= ew, > > >> > the customized deepcopy will take effect if the platform enabled > > >> > multiple SKU or there are many expressions in metadata file to be > > >> > evaluated. And the "cache for uni file parser" needs there are man= y > > >> > uni files. The Ovmf platform looks not a good platform to demo th= e > > >> > effect of this patch. > > >> > > >> But surely we should not introduce patches said to improve performan= ce > > >when the only data we have available shows that they slow things down? > > >> > > >> If the performance data is not representative, then it is worthless. > > >> > > >> Don't get me wrong - if you say "and for this secret platform I can'= t share > > >with you, it improves build performance by X", then I may be OK with a= minor > > >slowdown on the platforms I do have available to test, if X is not min= or. > > >> > > >> But if the improvement is only theoretical, and we have no evidence = that it > > >helps real platforms, it should not be committed. > > >> > > >> Regards, > > >> > > >> Leif > > >_______________________________________________ > > >edk2-devel mailing list > > >edk2-devel@lists.01.org > > >https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel