From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 19 12:26:58 2024 Received: (at submit) by debbugs.gnu.org; 19 Jun 2024 16:26:58 +0000 Received: from localhost ([127.0.0.1]:50477 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sJy9B-0006uf-LW for submit@debbugs.gnu.org; Wed, 19 Jun 2024 12:26:58 -0400 Received: from lists.gnu.org ([209.51.188.17]:44838) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sJy98-0006uR-T6 for submit@debbugs.gnu.org; Wed, 19 Jun 2024 12:26:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sJy95-0003Ye-7P for automake-patches@gnu.org; Wed, 19 Jun 2024 12:26:51 -0400 Received: from frenzy.freefriends.org ([198.99.81.75] helo=freefriends.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sJy93-0000GB-CH for automake-patches@gnu.org; Wed, 19 Jun 2024 12:26:50 -0400 X-Envelope-From: karl@freefriends.org X-Envelope-To: Received: from freefriends.org (localhost [127.0.0.1]) by freefriends.org (8.16.1/8.16.1) with ESMTPS id 45JGQh8h963620 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for ; Wed, 19 Jun 2024 10:26:43 -0600 Received: (from apache@localhost) by freefriends.org (8.16.1/8.14.7/Submit) id 45JGQh4c963619; Wed, 19 Jun 2024 10:26:43 -0600 Date: Wed, 19 Jun 2024 10:26:43 -0600 Message-Id: <202406191626.45JGQh4c963619@freefriends.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="o3UAcXWZVx" Content-Transfer-Encoding: 7bit From: Karl Berry To: automake-patches@gnu.org Subject: optimizing the sleep in Automake's sanity.m4 Received-SPF: pass client-ip=198.99.81.75; envelope-from=karl@freefriends.org; helo=freefriends.org X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --o3UAcXWZVx Content-Type: text/plain; charset=us-ascii Content-Description: message body text Content-Transfer-Encoding: 7bit I'd like to have further discussion about this ongoing subject here, for the sake of future trackability. So far as I can see, we've currently got Bruno's patch#2 from https://lists.gnu.org/archive/html/automake/2024-06/msg00055.html (attached here) --o3UAcXWZVx Content-Type: application/octet-stream Content-Disposition: attachment; filename="0001-automake-Save-up-to-2-seconds-of-configure-time.patch" Content-Transfer-Encoding: base64 PkZyb20gZjgxMzViMDZjMWE0NjIyOGQ5NzRlYzhlZGIxZTkyOGY4MTE3ZDZlNCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogQnJ1bm8gSGFpYmxlIDxicnVub0BjbGlzcC5vcmc+CkRhdGU6 IFRodSwgMTMgSnVuIDIwMjQgMTM6NDc6NDkgKzAyMDAKU3ViamVjdDogW1BBVENIXSBhdXRvbWFr ZTogU2F2ZSB1cCB0byAyIHNlY29uZHMgb2YgY29uZmlndXJlIHRpbWUuCgoqIG00L3Nhbml0eS5t NCAoQU1fRklMRVNZU1RFTV9USU1FU1RBTVBfUkVTT0xVVElPTik6IFJlbmFtZWQgZnJvbQpfQU1f RklMRVNZU1RFTV9USU1FU1RBTVBfUkVTT0xVVElPTi4gU3VnZ2VzdGVkIGJ5IEthcmwgQmVycnku CihBTV9TQU5JVFlfQ0hFQ0spOiBEb24ndCByZXF1aXJlCl9BTV9GSUxFU1lTVEVNX1RJTUVTVEFN UF9SRVNPTFVUSU9OLiBJbnN0ZWFkLCBleGVjdXRlIGl0IG9ubHkgd2hlbiBpdCBpcwphY3R1YWxs eSBuZWVkZWQuIEluIG1vc3QgY2FzZXMgb3V0c2lkZSBBdXRvbWFrZSdzIHRlc3Qgc3VpdGUsIGl0 IGlzIG5vdApuZWVkZWQuIEFsc28sIG9taXQgdGhlIHBhcmFsbGVsIHNsZWVwLgoqIGNvbmZpZ3Vy ZS5hYzogSW52b2tlIEFNX0ZJTEVTWVNURU1fVElNRVNUQU1QX1JFU09MVVRJT04uCi0tLQogY29u ZmlndXJlLmFjIHwgIDEgKwogbTQvc2FuaXR5Lm00IHwgMzAgKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCAzZmYw OGU5ZjIuLjA4MmQ4YmRkYiAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3Vy ZS5hYwpAQCAtMTkwLDYgKzE5MCw3IEBAIEFDX1BST0dfRkdSRVAKICMgVGhlIHRlc3Qgc3VpdGUg bmVlZHMgdG8ga25vdyB0aGUgcmVzb2x1dGlvbiBvZiB0aW1lc3RhbXBzCiAjIHN1cHBvcnRlZCBi eSB0aGUgZmlsZXN5c3RlbSBob3N0aW5nIHRoZSBidWlsZC4gIFRoZSB2YWx1ZQogIyB3aWxsIGJl IGFjY2VwdGFibGUgdG8gJ3NsZWVwJyBvbiB0aGlzIHN5c3RlbS4KK0FNX0ZJTEVTWVNURU1fVElN RVNUQU1QX1JFU09MVVRJT04KIE1USU1FX1JFU09MVVRJT049JGFtX2N2X2ZpbGVzeXN0ZW1fdGlt ZXN0YW1wX3Jlc29sdXRpb24KIGlmIHRlc3QgLXogIiRNVElNRV9SRVNPTFVUSU9OIjsgdGhlbgog ICBBQ19NU0dfTk9USUNFKGFtX2N2X2ZpbGVzeXN0ZW1fdGltZXN0YW1wX3Jlc29sdXRpb24gc3Ry YW5nZWx5IG5vdCBzZXQ7IHVzaW5nIDEpCmRpZmYgLS1naXQgYS9tNC9zYW5pdHkubTQgYi9tNC9z YW5pdHkubTQKaW5kZXggNjhmYmYzNmY3Li5hOGM2ZmY5MTcgMTAwNjQ0Ci0tLSBhL200L3Nhbml0 eS5tNAorKysgYi9tNC9zYW5pdHkubTQKQEAgLTE1LDcgKzE1LDcgQEAgQVNfSUYoW3NsZWVwIDAu MDAxIDI+L2Rldi9udWxsXSwgW2FtX2N2X3NsZWVwX2ZyYWN0aW9uYWxfc2Vjb25kcz10cnVlXSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbV9jdl9zbGVlcF9mcmFjdGlvbmFs X3NlY29uZHM9ZmFsc2VdKQogXSldKQogCi0jIF9BTV9GSUxFU1lTVEVNX1RJTUVTVEFNUF9SRVNP TFVUSU9OCisjIEFNX0ZJTEVTWVNURU1fVElNRVNUQU1QX1JFU09MVVRJT04KICMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgRGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtJ3Mg cmVzb2x1dGlvbiBmb3IgZmlsZSBtb2RpZmljYXRpb24KICMgdGltZXN0YW1wcy4gIFRoZSBjb2Fy c2VzdCB3ZSBrbm93IG9mIGlzIEZBVCwgd2l0aCBhIHJlc29sdXRpb24KQEAgLTI1LDcgKzI1LDcg QEAgQVNfSUYoW3NsZWVwIDAuMDAxIDI+L2Rldi9udWxsXSwgW2FtX2N2X3NsZWVwX2ZyYWN0aW9u YWxfc2Vjb25kcz10cnVlXSwKICMgcG9zc2libGUgdG8gZGVsYXkgZXhlY3V0aW9uIG9mIGEgc2hl bGwgc2NyaXB0IGZvciBsZXNzIHRoYW4gb25lCiAjIG1pbGxpc2Vjb25kLCBkdWUgdG8gcHJvY2Vz cyBjcmVhdGlvbiBvdmVyaGVhZCBhbmQgc2NoZWR1bGluZwogIyBncmFudWxhcml0eSwgc28gd2Ug ZG9uJ3QgY2hlY2sgZm9yIGFueXRoaW5nIGZpbmVyIHRoYW4gdGhhdC4gKFNlZSBiZWxvdy4pCi1B Q19ERUZVTihbX0FNX0ZJTEVTWVNURU1fVElNRVNUQU1QX1JFU09MVVRJT05dLCBbZG5sCitBQ19E RUZVTihbQU1fRklMRVNZU1RFTV9USU1FU1RBTVBfUkVTT0xVVElPTl0sIFtkbmwKIEFDX1JFUVVJ UkUoW19BTV9TTEVFUF9GUkFDVElPTkFMX1NFQ09ORFNdKQogQUNfQ0FDSEVfQ0hFQ0soW2ZpbGVz eXN0ZW0gdGltZXN0YW1wIHJlc29sdXRpb25dLAogICAgICAgICAgICAgICAgYW1fY3ZfZmlsZXN5 c3RlbV90aW1lc3RhbXBfcmVzb2x1dGlvbiwgW2RubApAQCAtMTQxLDcgKzE0MSw3IEBAIHJtIC1m IGNvbmZ0ZXN0LnRzPwogIyBBTV9TQU5JVFlfQ0hFQ0sKICMgLS0tLS0tLS0tLS0tLS0tCiBBQ19E RUZVTihbQU1fU0FOSVRZX0NIRUNLXSwKLVtBQ19SRVFVSVJFKFtfQU1fRklMRVNZU1RFTV9USU1F U1RBTVBfUkVTT0xVVElPTl0pCitbCiAjIFRoaXMgY2hlY2sgc2hvdWxkIG5vdCBiZSBjYWNoZWQs IGFzIGl0IG1heSB2YXJ5IGFjcm9zcyBidWlsZHMgb2YKICMgZGlmZmVyZW50IHByb2plY3RzLgog QUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmVdKQpAQCAt MTc5LDYgKzE3OSwxNCBAQCBmb3IgYW1fdHJ5IGluIDEgMjsgZG8KICAgICBhbV9idWlsZF9lbnZf aXNfc2FuZT15ZXMKICAgICBicmVhawogICBmaQorICAjIERldGVybWluZSBhbV9jdl9maWxlc3lz dGVtX3RpbWVzdGFtcF9yZXNvbHV0aW9uLiBEbyBpdCBvbmx5IG9uIHRoZSBmaXJzdAorICAjIGxv b3Agcm91bmQsIHNpbmNlIGl0IGlzIGV4cGVuc2l2ZS4gRG8gc28gd2l0aG91dCB2aXNpYmxlIG91 dHB1dCwgYmVjYXVzZQorICAjIHdlJ3JlIGFscmVhZHkgaW4gYSBBQ19NU0dfQ0hFQ0tJTkcuLkFD X01TR19SRVNVTFQgYmxvY2suCisgIGlmIHRlc3QgJGFtX3RyeSA9IDE7IHRoZW4KKyAgICBleGVj IDk+JkFTX01FU1NBR0VfRkQgQVNfTUVTU0FHRV9GRD4vZGV2L251bGwKKyAgICBBTV9GSUxFU1lT VEVNX1RJTUVTVEFNUF9SRVNPTFVUSU9OCisgICAgZXhlYyBBU19NRVNTQUdFX0ZEPiY5IDk+Ji0K KyAgZmkKICAgIyBKdXN0IGluIGNhc2UuCiAgIHNsZWVwICRhbV9jdl9maWxlc3lzdGVtX3RpbWVz dGFtcF9yZXNvbHV0aW9uCiAgIGFtX2hhc19zbGVwdD15ZXMKQEAgLTE4OSwyMCArMTk3LDQgQEAg aWYgdGVzdCAkYW1fYnVpbGRfZW52X2lzX3NhbmUgPSBubzsgdGhlbgogICBBQ19NU0dfRVJST1Io W25ld2x5IGNyZWF0ZWQgZmlsZSBpcyBvbGRlciB0aGFuIGRpc3RyaWJ1dGVkIGZpbGVzIQogQ2hl Y2sgeW91ciBzeXN0ZW0gY2xvY2tdKQogZmkKLQotIyBJZiB3ZSBkaWRuJ3Qgc2xlZXAsIHdlIHN0 aWxsIG5lZWQgdG8gZW5zdXJlIHRpbWUgc3RhbXBzIG9mIGNvbmZpZy5zdGF0dXMgYW5kCi0jIGdl bmVyYXRlZCBmaWxlcyBhcmUgc3RyaWN0bHkgbmV3ZXIuCi1hbV9zbGVlcF9waWQ9Ci1BU19JRihb dGVzdCAtZSBjb25mdGVzdC5maWxlIHx8IGdyZXAgJ3NsZXB0OiBubycgY29uZnRlc3QuZmlsZSA+ L2Rldi9udWxsIDI+JjFdLCwgW2RubAotICAoIHNsZWVwICRhbV9jdl9maWxlc3lzdGVtX3RpbWVz dGFtcF9yZXNvbHV0aW9uICkgJgotICBhbV9zbGVlcF9waWQ9JCEKLV0pCi1BQ19DT05GSUdfQ09N TUFORFNfUFJFKAotICBbQUNfTVNHX0NIRUNLSU5HKFt0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUg bmV3ZXIgdGhhbiBjb25maWd1cmVdKQotICAgaWYgdGVzdCAtbiAiJGFtX3NsZWVwX3BpZCI7IHRo ZW4KLSAgICAgIyBIaWRlIHdhcm5pbmdzIGFib3V0IHJldXNlZCBQSURzLgotICAgICB3YWl0ICRh bV9zbGVlcF9waWQgMj4vZGV2L251bGwKLSAgIGZpCi0gICBBQ19NU0dfUkVTVUxUKFtkb25lXSld KQotcm0gLWYgY29uZnRlc3QuZmlsZQogXSkKLS0gCjIuMzQuMQoK --o3UAcXWZVx Content-Type: text/plain; charset=us-ascii Content-Description: message body text Content-Transfer-Encoding: 7bit plus Nick's change to use AC_CONFIG_COMMANDS_POST instead of _PRE, copied below, plus some sort of limiting. --thanks, karl. Date: Mon, 17 Jun 2024 00:29:07 -0400 From: Nick Bowler Subject: Re: 1.16.90 regression: configure now takes 7 seconds to start If the problem is simply that we want to avoid the situation where "make" considers config.status to be out of date wrt. configure, or something similar with any other pair of files, then this should be solveable fairly easily with a pattern like this (but see below): AC_CONFIG_COMMANDS_POST([cat >conftest.mk <<'EOF' configure: config.status false EOF while ${MAKE-make} -f conftest.mk >/dev/null 2>&1 do touch config.status done]) In my own experience the above pattern is portable. It works with HP-UX make. It works with a "touch" that truncates timestamps. In the common case where configure is sufficiently old the loop condition will always be false and there is no delay. It won't guarantee that config.status has a strictly newer timestamp than configure (except on HP-UX), but it sounds like that's fine. One missing element is that there is no limit, which would be a bit of a problem if the clock skew is severe (e.g., if configure's mtime is years or even minutes in the future), so something extra is probably desirable to bound the amount of time this runs to something practical. --o3UAcXWZVx--