From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) by sourceware.org (Postfix) with ESMTP id 0F7513858431 for ; Thu, 17 Feb 2022 05:18:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0F7513858431 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org Received: by smtp.gentoo.org (Postfix, from userid 559) id A215F343128; Thu, 17 Feb 2022 05:18:32 +0000 (UTC) Date: Thu, 17 Feb 2022 00:18:30 -0500 From: Mike Frysinger To: "R. Diez" , joel@rtems.org, Newlib , Matthew Joyce Subject: Re: Question about autoreconf to regenerate configuration files Message-ID: Mail-Followup-To: "R. Diez" , joel@rtems.org, Newlib , Matthew Joyce References: <26fff1a3-7743-e0ce-f7a6-70b39a030118@embedded-brains.de> <41deefa7-d1ae-18f2-6a8e-25e002d85ed6@yahoo.de> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="D92sxsyMbApVf66G" Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Feb 2022 05:18:34 -0000 --D92sxsyMbApVf66G Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 26 Jan 2022 05:02, Mike Frysinger wrote: > On 21 Jan 2022 17:09, Mike Frysinger wrote: > > On 21 Jan 2022 17:09, R. Diez via Newlib wrote: > > > > [...] > > > > The bootstrap time was large enough to > > > > negatively impact our ability to do automated regression testing. > > >=20 > > > A very long bootstrap time could be an issue. > > >=20 > > > However, compilation time normally outweighs by far the Autotools reg= eneration step. Is that a problem in Newlib at the moment? > >=20 > > autotools (autoreconf really) doesn't run in parallel, so every subdir > > with a configure script needs a separate serialized run of all the tool= s. > > newlib has many many of these (arguably, too many). > >=20 > > on my quad core 4.2GHz AMD that is otherwise idle ... > >=20 > > $ time (cd newlib && autoreconf) > > real 5m22.170s > > user 3m13.709s > > sys 0m12.332s > >=20 > > $ time (cd libgloss && autoreconf) > > real 1m41.754s > > user 0m43.505s > > sys 0m3.618s > > > >=20 > > # Blackfin builds 8 copies (multilib) of newlib+libgloss by default. > > $ time (cd build; ../configure --host=3Dbfin-elf; make -j4) > > real 1m40.950s > > user 0m58.032s > > sys 0m30.968s >=20 > updated timings on my system after recent work to delete many configure s= cripts > $ time (cd newlib && autoreconf) > real 1m0.619s > user 0m45.249s > sys 0m1.535s >=20 > $ time (cd libgloss && autoreconf -I$PWD -I$PWD/.. -I$PWD/../config) > real 0m32.662s > user 0m15.858s > sys 0m1.205s >=20 > $ time (cd build; ../configure --host=3Dbfin-elf; make -j4) > real 1m2.337s > user 0m44.987s > sys 0m26.708s >=20 > so it's def better, but autotool generation still takes longer than actua= lly > compiling newlib+libgloss 8 times :). things are looking up. with all my pending changes, we have 1 configure sc= ript in newlib and no recursive makes. $ time (cd newlib && autoreconf) real 0m8.740s user 0m7.524s sys 0m0.193s i'm not sure if i'll "finish" libgloss. there's still a lot of subdirs not even using automake, so while i can kill most configure scripts, i prob won= 't do them all, and i prob won't convert more to automake or non-recursive mak= e. the libgloss arches have a lot harrier logic in them that i don't care to t= ry to unpack, especially since i converted the dirs i most care about. $ time (cd libgloss && autoreconf -I$PWD -I$PWD/.. -I$PWD/../config) real 0m8.313s user 0m5.015s sys 0m0.259s we can see that killing excessive configure scripts & recursive makes helps with compilation times too. $ time (cd build; ../configure --host=3Dbfin-elf; make -j4) real 0m28.831s user 0m34.828s sys 0m23.093s generating autotools is now slightly faster that compiling 8 copies of newlib+libgloss :). not that i'm advocating for changing anything :P. -mike --D92sxsyMbApVf66G Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEuQK1JxMl+JKsJRrUQWM7n+g39YEFAmIN2qYACgkQQWM7n+g3 9YG62xAAq/qDZjqW+rOi+3u5Jo4n8QTK2xoZpwFD6DH7pBkDTOyXmMp1lWPRBWos HrPt4Ql/AKYKIrNZ89NcxEnd/qqZp5g1WQCCIVrGffWY4rswfYNuXd8gVbvRZfpF agtIfM+h/ljhjEj3cJTNyZ2i/Jwmt1dWLDGnYx87kRhQDOCTWLoDnRci2Z7TrO1l TxOMqu10yWSpZIv7PsVU4qrGXUYwBU22XBOrXOU6h22ksEXk2tWxdEJHnjxKYNFr 6qN7dk5sDZsZGerm4RNZf1WAmSTMK4TADR7yEU14JN5QZFujJXjLqofkDAh10C7g W/4SSCqGsz3qZWYXCX8Lkc3x9ZSXw0+Z2J6E+g9B/WIy2DQF5h3NdbdF/lfYJhgA 7CXXzAPR9x3b9sYgySajpktybBiJtuxBki4z+5ajiuFiinm3MrP0lhqyrzAFdRQu nEEWkW+Afn1ax+O+2b9Wz+orzWL7wZ3c20o5mJcUOZUjq7QHL4x+0VuSsE67acs4 HBkE9XyrqYey3jZvWh5yYzvxqtQIZ5Yvh01/cqp/Z9IiQXSHGkNjLfHkYuJNhflT ybvcMVelEdGkdGONDRPbpbMRYUFl+x68fyBfmhdkK0LueGrok81SWpZgSAlSenmX ArDEbuIJRTmyGdOiFF0WTLpahSNeVB+EIsHWfycto3FKwYnVU6g= =c55S -----END PGP SIGNATURE----- --D92sxsyMbApVf66G--