GNU logs - #70108, boring messages


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#70108: 29.1.90; `defalias' and `current-load-list'
Resent-From: Mickey Petersen <mickey@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 31 Mar 2024 15:40:02 +0000
Resent-Message-ID: <handler.70108.B.17118996002395 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 70108
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 70108 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.17118996002395
          (code B ref -1); Sun, 31 Mar 2024 15:40:02 +0000
Received: (at submit) by debbugs.gnu.org; 31 Mar 2024 15:40:00 +0000
Received: from localhost ([127.0.0.1]:48274 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rqxHr-0000cW-P3
	for submit <at> debbugs.gnu.org; Sun, 31 Mar 2024 11:40:00 -0400
Received: from lists.gnu.org ([2001:470:142::17]:54612)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mickey@HIDDEN>) id 1rqxHp-0000cD-A8
 for submit <at> debbugs.gnu.org; Sun, 31 Mar 2024 11:39:58 -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 <mickey@HIDDEN>)
 id 1rqxHg-0008KQ-C5
 for bug-gnu-emacs@HIDDEN; Sun, 31 Mar 2024 11:39:48 -0400
Received: from mail-cwxgbr01on20701.outbound.protection.outlook.com
 ([2a01:111:f403:261b::701]
 helo=GBR01-CWX-obe.outbound.protection.outlook.com)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <mickey@HIDDEN>)
 id 1rqxHe-0002co-TU
 for bug-gnu-emacs@HIDDEN; Sun, 31 Mar 2024 11:39:48 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=W8hQX06JuGW5FWZKOqlxydKQblFUxUnGzY4LCR5b2/e+dnxaan6RaGGhHUgvkwi8gEcTVVbPyuyuDZNgcrXLEqbK2UkocdwxFBzffKuOoP2/5eRCtzFZ63HNBL/ISftMZwwhIVkU1blBTLZNaGFsZP+dDhpiKwVqqJDZy+INc7TRRlET7nKRvybft+9+X5jR/KEzc3RbbC00j1FZDJ9D7iVA8nWowaNyI/PVzL0hAwKLT7yfC/U0eOgsTt6KK6+j6tkY7otwkLO6lT/q96cS4NcF9naZnktADlx3hAIbSCQpB5BZCiIL0wU1jO7Uahmfkdx+T4ko760heXRGoVTj4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f1MxZAqTH/vUOWJCTTcjOBRl6sFhDKZfqpKUk9PW5Yo=;
 b=Mq2yeA08FmGuQFJ/en9s4Y0oIRU31D8sgSy9KXi5n2T0/R54xHHEUmFJ/FBqpqDiX2p/mvRfBkrX7IJFPb43KYlVwv+HM/PXZoUW5L2b4djpUPCZbw6tg0suNIBuTiKHuabvcby2AwtnvdP23kTKLktvwCUwwBaRRt81cCPAgQCi0+SKdnf+kazFZxVJzxz8jEKJqsn2g5JDq1xWgkTIa0VieH18eo2pX5OhqF0WRAiEldBayT1NsVXlx5G4VUea1gvZeuKdfsK3/6oBx4n9ZgWo0YjH+br3ZCKAV5hp5HEWBRi3gHD8tGnkzyogM8ivXtVPsGaf2548YK7w9NJg+A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 178.79.136.144) smtp.rcpttodomain=gnu.org smtp.mailfrom=masteringemacs.org;
 dmarc=pass (p=none sp=none pct=100) action=none
 header.from=masteringemacs.org; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=semantical.onmicrosoft.com; s=selector1-semantical-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=f1MxZAqTH/vUOWJCTTcjOBRl6sFhDKZfqpKUk9PW5Yo=;
 b=OcXNfmyXBGRDILi7QYf31wmAHYMz/nQCnnzfSZ5ugd96DWxYswelaD78+EsJZqrED0wWMJKgdysAUsLjMH7/ISq9hKyq1GG0juOGQ20r9hWmBp+4A+U5ysrAlYw0Mz2op8lSU38BkrDrUv+GZZjn3I6UzQ/xs/hCMxdBVnYEoJk=
Received: from CWLP123CA0147.GBRP123.PROD.OUTLOOK.COM (2603:10a6:401:88::15)
 by LO9P265MB7612.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:3ba::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.45; Sun, 31 Mar
 2024 15:34:41 +0000
Received: from CW2PEPF000056BF.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:401:88:cafe::58) by CWLP123CA0147.outlook.office365.com
 (2603:10a6:401:88::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Sun, 31 Mar 2024 15:34:41 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 178.79.136.144)
 smtp.mailfrom=masteringemacs.org; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=masteringemacs.org;
Received-SPF: Pass (protection.outlook.com: domain of masteringemacs.org
 designates 178.79.136.144 as permitted sender)
 receiver=protection.outlook.com; client-ip=178.79.136.144;
 helo=semantical.co.uk; pr=C
Received: from semantical.co.uk (178.79.136.144) by
 CW2PEPF000056BF.mail.protection.outlook.com (10.167.240.21) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7452.22 via Frontend Transport; Sun, 31 Mar 2024 15:34:40 +0000
Received: by semantical.co.uk (Postfix, from userid 5001)
 id C3F33114002; Sun, 31 Mar 2024 16:34:40 +0100 (BST)
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on semantical.co.uk
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,NO_RECEIVED,
 NO_RELAYS autolearn=ham autolearn_force=no version=3.4.2
From: Mickey Petersen <mickey@HIDDEN>
Date: Sun, 31 Mar 2024 16:34:37 +0100
Message-ID: <87h6gmbek2.fsf@HIDDEN>
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CW2PEPF000056BF:EE_|LO9P265MB7612:EE_
MIME-Version: 1.0
X-MS-Office365-Filtering-Correlation-Id: 02abda46-f69c-4da6-e9c0-08dc51981511
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: KHtYN295drB02dJHCli1CuVU4Z+LUszoSll4/KkOYRnWPw8+Se1MHAl84Ko77LGjfbePm/27UF/em6cCbtT8FOom9jyouDoLW51jFd4tl8Fvuqy2Wd7Cj0M6Sbx+Z717BLCt+m0XULJpaWUBqgUXwwOqcqG5cCletCWwFXRflx9eFXZ7CUzYktxba65sjg3EAn3vnXyvNKD0xfc2b18pOpkHXOHvMSY6em4bjXZiL7p/R40boqlfR2mSOJ5injLg5DETE9gnOpwS9H1xzI/z4r4N6+Xs3cJzo1sNAbkJkyBrRsbCZHrAuaN6392bUdoiqRkmJiBiPuEf65Ch0ND1A+84Q28cE2F5wvOL2Vhd1cafaKfaOm5c0S1EEu6sZAQZDRVIHTHs0av+Aw/uvHpQ1Ds3lKVDNHvKpPl1WgRU8ZW1OdOf3HP16miFJl3aQnAYyNpKCwSQs6kTcj8o/RZbZ6qCweCuIF+EPpofdf69lt6QMnbX5Su5AbKz51gQexyhMlSiV+c/Sb6MQRxX94+pXgKTcWWxII9zT9JlMB9wndsIuiK9GzKEsp+sHJyRStJlkzS0Y3bSYhpkgtSh+E/pwQaa1rmQQAmPGAk9kP1a8cfzLqysWAvkl90aj17z0VyUcfgXRgHm+KJlXeJnJVgxzQG5aEF/+dl8MTrHyvOaojWZCkdYm02i39I7QHdfcCYgYC4ID1xCpFzmmoNUEL8a12WykzlCBf+tD/hM0dOoJOOEtHtZyYoFyHOKm8yhgQHV2j95d/DDz3Y1gAP40sV7USoCfYROST9impzf+2taS7VSdaxLK1f36/cNpTO2tj+0
X-Forefront-Antispam-Report: CIP:178.79.136.144; CTRY:GB; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:semantical.co.uk; PTR:semantical.co.uk; CAT:NONE;
 SFS:(13230031)(61400799018)(82310400014)(376005)(36860700004)(79816003)(14776008);
 DIR:OUT; SFP:1102; 
X-OriginatorOrg: masteringemacs.org
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2024 15:34:40.9673 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 02abda46-f69c-4da6-e9c0-08dc51981511
X-MS-Exchange-CrossTenant-Id: a4e27e3d-bab0-45e8-8942-e64cf9fbd34f
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=a4e27e3d-bab0-45e8-8942-e64cf9fbd34f; Ip=[178.79.136.144];
 Helo=[semantical.co.uk]
X-MS-Exchange-CrossTenant-AuthSource: CW2PEPF000056BF.GBRP265.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LO9P265MB7612
Received-SPF: pass client-ip=2a01:111:f403:261b::701;
 envelope-from=mickey@HIDDEN;
 helo=GBR01-CWX-obe.outbound.protection.outlook.com
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, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.9 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.1 (/)

Here's a curious one. This is not so much a bug, I think, as a gotcha
and perhaps something that I wouldn't mind understanding a bit better.

My package creates a number of dynamic commands (think:
tempo/skeletons) to expand text.

It does so using the common (defalias NAME (lambda () ...)) pattern.

This obviously goes into the C core where a bunch of stuff takes
place. One of variables that gets updated (somehow) is
`current-load-list'. Curiously, it ends up with duplicate entries. I'm
presuming there is a good reason for this.

This variable can easily get overrun with identical entries if the
inattentive programmer does not check if it is already bound.

Due to a screwup on my part, I did not `fboundp' check first, which had the
odd effect of causing incredible slowdowns when I ran my 600+ ERT test
suite.

I have not narrowed down exactly *why* my ERT suite, when beset by 600
tests to run in one go, causes the slowdown. What I'm guessing from
how each successive tests slows down, that there is some sort of
non-linear searching going on here, and either `load' (and friends) or
the mere fact that putting more defaliases into the system causes this
slowdown to occur.

Anyway. Not sure it's a bug; but it caught me out, and as
`current-load-list' is rather obscure, I figured I'd at least ask.

Thanks!

Mickey.




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Mickey Petersen <mickey@HIDDEN>
Subject: bug#70108: Acknowledgement (29.1.90; `defalias' and
 `current-load-list')
Message-ID: <handler.70108.B.17118996002395.ack <at> debbugs.gnu.org>
References: <87h6gmbek2.fsf@HIDDEN>
X-Gnu-PR-Message: ack 70108
X-Gnu-PR-Package: emacs
Reply-To: 70108 <at> debbugs.gnu.org
Date: Sun, 31 Mar 2024 15:40:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-gnu-emacs@HIDDEN

If you wish to submit further information on this problem, please
send it to 70108 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
70108: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D70108
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#70108: 29.1.90; `defalias' and `current-load-list'
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 31 Mar 2024 15:47:02 +0000
Resent-Message-ID: <handler.70108.B70108.17118999823757 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 70108
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Mickey Petersen <mickey@HIDDEN>, Stefan Monnier <monnier@HIDDEN>
Cc: 70108 <at> debbugs.gnu.org
Received: via spool by 70108-submit <at> debbugs.gnu.org id=B70108.17118999823757
          (code B ref 70108); Sun, 31 Mar 2024 15:47:02 +0000
Received: (at 70108) by debbugs.gnu.org; 31 Mar 2024 15:46:22 +0000
Received: from localhost ([127.0.0.1]:48280 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rqxO1-0000yW-QW
	for submit <at> debbugs.gnu.org; Sun, 31 Mar 2024 11:46:22 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:43054)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1rqxNz-0000yI-5d
 for 70108 <at> debbugs.gnu.org; Sun, 31 Mar 2024 11:46:20 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1rqxNp-00048P-T5; Sun, 31 Mar 2024 11:46:09 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=ZKAICsS9JS/a0907hRvCeHcJpbRJnXfbMTaFD6sQHrA=; b=S1xAYCxHwH65
 1RhQWjjjtd6feU7n30iW4MjE6LOe27hUTctm54IUMEJ3EZY60YM0xy/a0LONBMfvGLU6Zgh4SpU9b
 C5m1YYv8hmRhNsamaP1sPNwjbGBgCs3CJ8Y69xs+aVeVnWgMIjS3nwRFDh0KpGvQfZmwVPbKNuToa
 NQza/mAdD5NopVeQ0PLbyjpVrHmheyDdWOek+zt9JQKm36UYzzG75eB5Mfm0FPBjlwJo042DaDvMU
 l4OJBuLwOyy7vrpb7vQdMC6Lh7D6dXi+CkhQ4/k5MxjqhRkAzphi9vf/OEPf5js9etgdivMHYwUii
 EV+PNjuhiN9g8hWs50QhoQ==;
Date: Sun, 31 Mar 2024 18:46:06 +0300
Message-Id: <8634s6be0x.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <87h6gmbek2.fsf@HIDDEN> (message from Mickey Petersen
 on Sun, 31 Mar 2024 16:34:37 +0100)
References: <87h6gmbek2.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Mickey Petersen <mickey@HIDDEN>
> Date: Sun, 31 Mar 2024 16:34:37 +0100
> 
> Here's a curious one. This is not so much a bug, I think, as a gotcha
> and perhaps something that I wouldn't mind understanding a bit better.
> 
> My package creates a number of dynamic commands (think:
> tempo/skeletons) to expand text.
> 
> It does so using the common (defalias NAME (lambda () ...)) pattern.
> 
> This obviously goes into the C core where a bunch of stuff takes
> place. One of variables that gets updated (somehow) is
> `current-load-list'. Curiously, it ends up with duplicate entries. I'm
> presuming there is a good reason for this.
> 
> This variable can easily get overrun with identical entries if the
> inattentive programmer does not check if it is already bound.
> 
> Due to a screwup on my part, I did not `fboundp' check first, which had the
> odd effect of causing incredible slowdowns when I ran my 600+ ERT test
> suite.
> 
> I have not narrowed down exactly *why* my ERT suite, when beset by 600
> tests to run in one go, causes the slowdown. What I'm guessing from
> how each successive tests slows down, that there is some sort of
> non-linear searching going on here, and either `load' (and friends) or
> the mere fact that putting more defaliases into the system causes this
> slowdown to occur.

Adding Stefan.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#70108: 29.1.90; `defalias' and `current-load-list'
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 01 Apr 2024 15:00:01 +0000
Resent-Message-ID: <handler.70108.B70108.171198354111908 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 70108
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: 70108 <at> debbugs.gnu.org, Mickey Petersen <mickey@HIDDEN>
Received: via spool by 70108-submit <at> debbugs.gnu.org id=B70108.171198354111908
          (code B ref 70108); Mon, 01 Apr 2024 15:00:01 +0000
Received: (at 70108) by debbugs.gnu.org; 1 Apr 2024 14:59:01 +0000
Received: from localhost ([127.0.0.1]:51362 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rrJ7l-00035p-Ax
	for submit <at> debbugs.gnu.org; Mon, 01 Apr 2024 10:59:01 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:34605)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1rrJ7j-00035V-Bp
 for 70108 <at> debbugs.gnu.org; Mon, 01 Apr 2024 10:58:59 -0400
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 769A9442A8E;
 Mon,  1 Apr 2024 10:58:50 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1711983528;
 bh=tlZTJrfuL3hGJdG5BbyohFahkFOti4a1VCKtOc87XHc=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=OEj1Jl9xY7RL5A3QuRV//8zvT87SPHw5dma6IeaYRYhiKB6t5BMCsbjNmIiKKitq6
 Em/6YNQUEt6MRhnR0LLKWizX2cRbSUiddCBijc8ag20cZI3UarYe6HWBPIUhX87cdV
 BCYgpRpgGKqo9hFp9iPejprT7ICmoXlXCjVDvA0NeyWZLsyHkkC9r7FopnqZQWVdSJ
 wtc6LlHE5/r6Qn/w8Y5HZjTv3nrXdGFQQau8Tdf9lRXU9+f+z2nACqXSty/LAt7Erh
 sCkieoZ0WCsH9P3qLhgwLQFJy4fNFwqETwWE5Cw8XM4+9bK7P3W9uDY0JuQyZlm2Fp
 DE2tv/XmWD6dw==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id D193F442A85;
 Mon,  1 Apr 2024 10:58:48 -0400 (EDT)
Received: from alfajor (unknown [45.72.201.215])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id A5BA1120280;
 Mon,  1 Apr 2024 10:58:48 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <8634s6be0x.fsf@HIDDEN> (Eli Zaretskii's message of "Sun, 31 Mar
 2024 18:46:06 +0300")
Message-ID: <jwvle5x2kzj.fsf-monnier+emacs@HIDDEN>
References: <87h6gmbek2.fsf@HIDDEN> <8634s6be0x.fsf@HIDDEN>
Date: Mon, 01 Apr 2024 10:58:50 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.080 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>> This obviously goes into the C core where a bunch of stuff takes
>> place. One of variables that gets updated (somehow) is
>> `current-load-list'. Curiously, it ends up with duplicate entries. I'm
>> presuming there is a good reason for this.

Duplicate entries sounds like a bug (unless there are two calls to
`defalias` for the same function name within the same file).
Do you have a reproducible recipe that shows this?

>> This variable can easily get overrun with identical entries if the
>> inattentive programmer does not check if it is already bound.

Hmmm... I'm beginning to wonder: do your `defalias` happen while loading
a file, or do they happen more "dynamically"?

>> I have not narrowed down exactly *why* my ERT suite, when beset by 600
>> tests to run in one go, causes the slowdown. What I'm guessing from
>> how each successive tests slows down, that there is some sort of
>> non-linear searching going on here, and either `load' (and friends) or
>> the mere fact that putting more defaliases into the system causes this
>> slowdown to occur.

The most common culprit is "N linear searches in an N-long list".


        Stefan





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#70108: 29.1.90; `defalias' and `current-load-list'
Resent-From: Mickey Petersen <mickey@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 01 Apr 2024 15:39:01 +0000
Resent-Message-ID: <handler.70108.B70108.171198588616295 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 70108
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Stefan Monnier <monnier@HIDDEN>
Cc: 70108 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>
Received: via spool by 70108-submit <at> debbugs.gnu.org id=B70108.171198588616295
          (code B ref 70108); Mon, 01 Apr 2024 15:39:01 +0000
Received: (at 70108) by debbugs.gnu.org; 1 Apr 2024 15:38:06 +0000
Received: from localhost ([127.0.0.1]:51413 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rrJja-0004Ek-4h
	for submit <at> debbugs.gnu.org; Mon, 01 Apr 2024 11:38:06 -0400
Received: from mail-uksouthazon11021010.outbound.protection.outlook.com
 ([52.101.196.10]:46466 helo=LO3P265CU004.outbound.protection.outlook.com)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mickey@HIDDEN>) id 1rrJjX-0004De-8U
 for 70108 <at> debbugs.gnu.org; Mon, 01 Apr 2024 11:38:04 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WCHA4CiAZF2QeDGclIYaZEt9aHlfq+Npyoc36wPW6JvIJG0saQfVGSq/FzeLTZR41PrCDE1FA/oRXsrAwNGfGk/Izmx3wc0100XIwkIgT6ezo1i1tEal1J4FfG1XQynIsmLDZ6S7+O/xLlHcPl5Omx5lO9oCJp/Vur7gM9SxPVtGK3CuhReLZJJgwxVMuORDOIszggCyUI8bQwx5yOrQPtzAqf0I6zE4pLZN6r3yhqJrJTNKrAaJNM959Uet7bWerwXxpVDVHxmzsKkqaL/vrgsTTzKzsaiSgBhff1Y1asarvZXA+paNtB1NresEblQDP8O1stCEhjLywuSybZMAxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vthTw6sY13KqopZR6pfsff7+4A/35kuZKeiHWocGT+Y=;
 b=f2C5HB8R2jg0ytlKmyk31vxGjOwQ609nExOaXSANYoL+5//ttkdpeMtm4XIK7o1mrHRAkMXmqfqhXRi6LJU0SQyodfMytc15T5BDBfL9htguIjzi10dPddSPDZiVlCYSr3Rv54E4oTt56rPxVZdwOv4HQbrvPrDf8uRxOX3mNxyOKnD6dUbXkyt673XE81HC1ravzOmkeQ2YohGkz20nZtLI6AgtCR8IBDXzya6DzRnZAYKp0xrV+RkD1N31rum/XnChi0Vo4uhyG5rNLA5HaxGXlqMAQHiXnHc+xRLWKD9mjvYrccETWb4w/tIy+fRxZe67U62My9CbE3uVcUcoYQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 178.79.136.144) smtp.rcpttodomain=debbugs.gnu.org
 smtp.mailfrom=masteringemacs.org; dmarc=pass (p=none sp=none pct=100)
 action=none header.from=masteringemacs.org; dkim=none (message not signed);
 arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=semantical.onmicrosoft.com; s=selector1-semantical-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vthTw6sY13KqopZR6pfsff7+4A/35kuZKeiHWocGT+Y=;
 b=ckGthAmcHeJM6W6kAfk3yYPAGweQYPWiBq6EeMfO9sgDdzfYHmB6y0jG5h4cJWeQ5A4pCMfTzU3sHYwYhnnaK04I1Es/krQqwfAQoucbuiUMIIasMBIfskcuTXH0q+DrHwqt0k87ZNV0tIBy22C9vIfgF4Nb9XNYERUST8qkjYc=
Received: from LO0P123CA0007.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:354::16)
 by LO4P265MB6697.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2f5::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Mon, 1 Apr
 2024 15:37:53 +0000
Received: from LO1PEPF000022FC.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:354:cafe::69) by LO0P123CA0007.outlook.office365.com
 (2603:10a6:600:354::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Mon, 1 Apr 2024 15:37:53 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 178.79.136.144)
 smtp.mailfrom=masteringemacs.org; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=masteringemacs.org;
Received-SPF: Pass (protection.outlook.com: domain of masteringemacs.org
 designates 178.79.136.144 as permitted sender)
 receiver=protection.outlook.com; client-ip=178.79.136.144;
 helo=semantical.co.uk; pr=C
Received: from semantical.co.uk (178.79.136.144) by
 LO1PEPF000022FC.mail.protection.outlook.com (10.167.240.20) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7452.22 via Frontend Transport; Mon, 1 Apr 2024 15:37:53 +0000
Received: by semantical.co.uk (Postfix, from userid 5001)
 id 7E701114002; Mon,  1 Apr 2024 16:37:53 +0100 (BST)
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on semantical.co.uk
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,NO_RECEIVED,
 NO_RELAYS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no
 version=3.4.2
References: <87h6gmbek2.fsf@HIDDEN> <8634s6be0x.fsf@HIDDEN>
 <jwvle5x2kzj.fsf-monnier+emacs@HIDDEN>
User-agent: mu4e @VERSION@; emacs 29.1.90
From: Mickey Petersen <mickey@HIDDEN>
Date: Mon, 01 Apr 2024 16:34:08 +0100
Organization: Mastering Emacs
In-reply-to: <jwvle5x2kzj.fsf-monnier+emacs@HIDDEN>
Message-ID: <87cyr9ayb6.fsf@HIDDEN>
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: LO1PEPF000022FC:EE_|LO4P265MB6697:EE_
MIME-Version: 1.0
X-MS-Office365-Filtering-Correlation-Id: ac418c8c-03a3-4794-4bca-08dc5261b246
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 03uQAadqkH4HdhHxEpSj7ML9Z8fwjSrJY9nnkE0h4x8uMsBvPXJUWN8pnEt82zUvjgmgnszd1vGGLvVxKYE0f1E7AmIJdFZa2KlHHG9U4f2aJz/bd/tE2Bv/7nKDW0fnPD7+LiRqGLOt1GflAVMYf2I7Pl7FnpY3cBAY9C8kjMNJOJpVTTpYUdWqD2AK7vNbxLSJozJdH4nVUEnBJx72GAvsu03y+DDHIjeDKpkhyIJc6wfsf99lJ7ZxaIIzp0byaiG/Ax8GRW6xOLPGK8Y4rq8RYEapCInTft295mxHK9Y57tR//U/FqLRf9ztCMPZdJufllLxMXLFqOO352yijTe/6pqYVkcD3/HyNdPwfRozhBWLmU0SLeuYZ153sBWDVVj9D7gtMSlA3g7YhROO2gBodT5ostN74eSXvR7S2XMt9K/offRjWCjcjR7KCoaWj/Me8mX6N2zob4mp94Hkx/TrRbPOs7jk8HquVDVEaGpLe07yYFxIMoKTu0TMrHK438nC5MVCFBCSW6lRhAq7joDwPTSwmdoQDNWIOy2D6wn2ANp5I7erIb3ndhnyLuXvD6FwjSTpiJPBBNetU7quRFXJpLXLK5qOGN1iVj1fN7Gs4sAUCKJvZRAqAL79nuMt6M2GyEJSA/RDNCcNIqtUyTby7F02NCFvAb2CsrNf0mttXEyIdJhPP4sGpHQVxGbcF4r6IRJOTNigj8PaT3XXGPbQcisW1Tad2PNSPGurA7H7KQHHSNNkRqzGt5dqvMV2j3kjy/dNLl8ll1VHM2GQX6WCRN1Ar1W5Su/0c0i82OSq71oEvXb7PluCzm8rsUOKd
X-Forefront-Antispam-Report: CIP:178.79.136.144; CTRY:GB; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:semantical.co.uk; PTR:semantical.co.uk; CAT:NONE;
 SFS:(13230031)(376005)(36860700004)(82310400014)(61400799018)(79816003)(14776008);
 DIR:OUT; SFP:1102; 
X-OriginatorOrg: masteringemacs.org
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Apr 2024 15:37:53.5555 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ac418c8c-03a3-4794-4bca-08dc5261b246
X-MS-Exchange-CrossTenant-Id: a4e27e3d-bab0-45e8-8942-e64cf9fbd34f
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=a4e27e3d-bab0-45e8-8942-e64cf9fbd34f; Ip=[178.79.136.144];
 Helo=[semantical.co.uk]
X-MS-Exchange-CrossTenant-AuthSource: LO1PEPF000022FC.GBRP265.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LO4P265MB6697
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi Stefan,


Stefan Monnier <monnier@HIDDEN> writes:

>>> This obviously goes into the C core where a bunch of stuff takes
>>> place. One of variables that gets updated (somehow) is
>>> `current-load-list'. Curiously, it ends up with duplicate entries. I'm
>>> presuming there is a good reason for this.
>
> Duplicate entries sounds like a bug (unless there are two calls to
> `defalias` for the same function name within the same file).
> Do you have a reproducible recipe that shows this?
>

That is exactly the scenario. There's a setup function that gets
called, which in turn sets up the defaliases. Each test would then end
up calling this setup function, which would result in the same file
foo.el calling defalias multiple times for things it has already
defined.

Still, I find it a bit odd that it's *that* slow. We're talking
hundreds, not millions, of entries.

As I mentioned earlier, I do not think it's a bug, but it caught me
out, so I figured I'd at least ask.

>>> This variable can easily get overrun with identical entries if the
>>> inattentive programmer does not check if it is already bound.
>
> Hmmm... I'm beginning to wonder: do your `defalias` happen while loading
> a file, or do they happen more "dynamically"?
>

The file is loaded once as part of the batch emacs process to run the
tests, and unless there's some ert shenanigans I'm not familiar with,
I do not think so.

>>> I have not narrowed down exactly *why* my ERT suite, when beset by 600
>>> tests to run in one go, causes the slowdown. What I'm guessing from
>>> how each successive tests slows down, that there is some sort of
>>> non-linear searching going on here, and either `load' (and friends) or
>>> the mere fact that putting more defaliases into the system causes this
>>> slowdown to occur.
>
> The most common culprit is "N linear searches in an N-long list".
>         Stefan





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#70108: 29.1.90; `defalias' and `current-load-list'
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 01 Apr 2024 16:41:02 +0000
Resent-Message-ID: <handler.70108.B70108.171198964623329 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 70108
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Mickey Petersen <mickey@HIDDEN>
Cc: 70108 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>
Received: via spool by 70108-submit <at> debbugs.gnu.org id=B70108.171198964623329
          (code B ref 70108); Mon, 01 Apr 2024 16:41:02 +0000
Received: (at 70108) by debbugs.gnu.org; 1 Apr 2024 16:40:46 +0000
Received: from localhost ([127.0.0.1]:51467 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rrKiD-00064C-7t
	for submit <at> debbugs.gnu.org; Mon, 01 Apr 2024 12:40:46 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:32609)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1rrKi9-00063v-VA
 for 70108 <at> debbugs.gnu.org; Mon, 01 Apr 2024 12:40:43 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 67C5680BC1;
 Mon,  1 Apr 2024 12:40:32 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1711989629;
 bh=3OlTyXxlxGSl+aBOrmdr+uzc4WRP1KUeMc0za2lwcZ4=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=YKNwrVhYlHpNrewkbzbj0EMtiusaCmQQ6sh41I68DN7XC5PujovJAlZ/XgQ7OP9iT
 ezkUcfdw59utviyHZlOWvwO8XsTiOYrKOXL7o6na4dNHmCmCKdHK6h7P3a1fJcBD12
 mKtr25fTUcstjZSCFIv6GKwwH37E++Pq22hHCSpW9Y5jbRhv0JVNbcO3hOnSIQ2Uj2
 Sf5cDe+8urewkUy+D2AMDsESNAWuOO6vFVz/toIFeS4vA5TBypeEEX652vTD3q1Nra
 KDfF0cxujSJmFJ23MB+n2Mo+bPLTwHxUysbY5pSdNxlCLPqwyyV6gwV5Eqk2VaT/Dm
 A/PE0MsU+3myw==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 5E89780919;
 Mon,  1 Apr 2024 12:40:29 -0400 (EDT)
Received: from alfajor (unknown [45.72.201.215])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 2F32412059D;
 Mon,  1 Apr 2024 12:40:29 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <87cyr9ayb6.fsf@HIDDEN> (Mickey Petersen's message of
 "Mon, 01 Apr 2024 16:34:08 +0100")
Message-ID: <jwv7chh2ghb.fsf-monnier+emacs@HIDDEN>
References: <87h6gmbek2.fsf@HIDDEN> <8634s6be0x.fsf@HIDDEN>
 <jwvle5x2kzj.fsf-monnier+emacs@HIDDEN>
 <87cyr9ayb6.fsf@HIDDEN>
Date: Mon, 01 Apr 2024 12:40:27 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.144 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>> Duplicate entries sounds like a bug (unless there are two calls to
>> `defalias` for the same function name within the same file).
>> Do you have a reproducible recipe that shows this?
> That is exactly the scenario.  There's a setup function that gets
> called, which in turn sets up the defaliases.  Each test would then end
> up calling this setup function, which would result in the same file
> foo.el calling defalias multiple times for things it has already
> defined.

Ah, OK, so it sounds like a misfeature in your code which should
presumably avoid doing the setup repeatedly.
[ As opposed to the case where those "duplicate" definitions end up
  defining the functions differently.  ]

Good.  That means that you can easily work around the current
performance problem.

> Still, I find it a bit odd that it's *that* slow.

How slow are we talking about?
Have you tried `M-x profiler-start RET RET` and then later
`M-x profiler-report RET`?

In the absence of a reproducible recipe, I'd be interested to see where
the time is spent.

> We're talking hundreds, not millions, of entries.

You mentioned 600, so if there's the usual O(N=B2) behavior, that quickly
gets us to 100K territory which can be slow enough to be noticeable.

> As I mentioned earlier, I do not think it's a bug, but it caught me
> out, so I figured I'd at least ask.

It does sound like a performance bug, tho (triggered by an undesirable
behavior in your code).
We fixed a similar problem in `defvar` in the past.

>>>> This variable can easily get overrun with identical entries if the
>>>> inattentive programmer does not check if it is already bound.
>> Hmmm... I'm beginning to wonder: do your `defalias` happen while loading
>> a file, or do they happen more "dynamically"?
> The file is loaded once as part of the batch emacs process to run the
> tests, and unless there's some ert shenanigans I'm not familiar with,
> I do not think so.

But are the problematic `defalias` performed while loading the file
that defines the tests, or doing the execution of those tests.

That affects for example whether those function definitions end up
appearing in `load-history` as belonging to the file or belonging to
"unknown".


        Stefan






Last modified: Mon, 1 Apr 2024 16:45:01 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.