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.
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
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.
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
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
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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.