From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Arthur Miller Newsgroups: gmane.emacs.devel Subject: Re: Q: BLV for function slots + BL obarray/hmap for symbol lookup? Date: Sun, 30 May 2021 04:57:28 +0200 Message-ID: References: <87r1hp675v.fsf@web.de> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14659"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (windows-nt) Cc: emacs-devel@gnu.org To: Michael Heerdegen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun May 30 04:58:09 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lnBeS-0003dX-I4 for ged-emacs-devel@m.gmane-mx.org; Sun, 30 May 2021 04:58:09 +0200 Original-Received: from localhost ([::1]:44008 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lnBeR-0002VB-LS for ged-emacs-devel@m.gmane-mx.org; Sat, 29 May 2021 22:58:07 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35570) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lnBdt-0001qg-CY for emacs-devel@gnu.org; Sat, 29 May 2021 22:57:33 -0400 Original-Received: from mail-db8eur05olkn2032.outbound.protection.outlook.com ([40.92.89.32]:27456 helo=EUR05-DB8-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 ) id 1lnBdq-0000fU-NV for emacs-devel@gnu.org; Sat, 29 May 2021 22:57:33 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dtdgUdRUBpuxFzYZFM6OEp3R7lDI6tKM2FhTamIitlm76VNa4I7mUpTqVUxj8dtAIPES1Ol4y9uN45/SFlT3xbpQcn9NcokayYDkJjs1rnEXANh5GEJaDPb0ps9XxEpX7onp/KrNzVYZacji932CS7GTajN+wtWJLJd3Wkph2IHWhAxg43g0E+w+mG0xrVYg6e/xjXt72/H7RSPqLQwE9EIE/Q2snyt38rbnI5tMaxU4GYMvwD0rMutbpC1kwNARe4XR9T/T1njY5p+lvMDxv3NaBse07fN1t10kiASWGv2M+YWiLybmsW6znCtWezidjxGMoAir/YLP4L7bnjMZUg== 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-SenderADCheck; bh=co7iAbmsCJA4N2Vt6gdn+GHRXovjSnTyPQaLhHCSV/s=; b=aQuFvuNUNtSZDTE4DpjSHk6iSK1HC5lTYnhLMPj06AZv/qZ1qkdDrXo4MnjT5SgKWmotwZfx+2lDDpXvvvETHYhdmPIfPsDyWHPcKJ3aLKS/7seX4Pfz/KWBU4I3lmh92AwNysxzTHeZvKpPpHQWUTegWTJkFY41qHNHyXANDTuxVAv9oA5GnzZRVl6Lj/nFFA1a5g1qIbO5omD5xruiiHx7rBfW4sXW/NKbQgAc0+uggQ4RSX8TtUSQBvUbSl6WBn03plispp8MmIRuploVfpEvhuVGfPIh6ChUekxYzB0sqppIESwzgVUwYYhPwi5+ggBTO1UDyiBgPcnmrpLZHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=co7iAbmsCJA4N2Vt6gdn+GHRXovjSnTyPQaLhHCSV/s=; b=TMiZvl7364h3kkUNpomk+fUoXoiMwd1pC6LpaTeO8Fhv/51wvsHlOaUgTdXHLX7lDYE1PR4jMkRATc3qGFO7IVznf99qqvYSMve/aBtkRNnGr91oA1oF6ekGyVYFTqUKyTvl4XtmT2bt/wrpLk+if10LHSph85GZ5nakoyuy61ZWpA+finnpjUWqaOJRRLEAlA4oEbte5KujzC3rFwaqFFwmDpSVa+sQxFFRaZGAOh7o0dVqTfOLQvaWbDfMmo+Y+1D34pz91z3pGBdshGIDnBU0l6GO7knV8tzvCEyucBiLwg513vXdDclia/QoDSUsjtGO8IzjDLI13SEIZLE9Jg== Original-Received: from DB8EUR05FT036.eop-eur05.prod.protection.outlook.com (2a01:111:e400:fc0f::4d) by DB8EUR05HT213.eop-eur05.prod.protection.outlook.com (2a01:111:e400:fc0f::276) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.28; Sun, 30 May 2021 02:57:28 +0000 Original-Received: from AM9PR09MB4977.eurprd09.prod.outlook.com (2a01:111:e400:fc0f::50) by DB8EUR05FT036.mail.protection.outlook.com (2a01:111:e400:fc0f::355) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.28 via Frontend Transport; Sun, 30 May 2021 02:57:28 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:143CE853D34E72667674139727FCA3727FF25210364FE8B862AFCDD65A011886; UpperCasedChecksum:9EB02AA38B9F99E26CC851733D8D68D30B9627FDA2DB54D19EF9FA96816055D5; SizeAsReceived:7953; Count:46 Original-Received: from AM9PR09MB4977.eurprd09.prod.outlook.com ([fe80::d1c1:2a0d:3b2b:4591]) by AM9PR09MB4977.eurprd09.prod.outlook.com ([fe80::d1c1:2a0d:3b2b:4591%7]) with mapi id 15.20.4173.029; Sun, 30 May 2021 02:57:28 +0000 In-Reply-To: <87r1hp675v.fsf@web.de> (Michael Heerdegen's message of "Sat, 29 May 2021 14:44:44 +0200") X-TMN: [jGPywH0mEdL4oD/BFiba/qbVpge+KHcP] X-ClientProxiedBy: AM5PR0701CA0059.eurprd07.prod.outlook.com (2603:10a6:203:2::21) To AM9PR09MB4977.eurprd09.prod.outlook.com (2603:10a6:20b:304::20) X-Microsoft-Original-Message-ID: <82y2bxkjxj.fsf@live.com> X-MS-Exchange-MessageSentRepresentingType: 1 Original-Received: from HP-Laptop.homepc (81.232.177.30) by AM5PR0701CA0059.eurprd07.prod.outlook.com (2603:10a6:203:2::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.10 via Frontend Transport; Sun, 30 May 2021 02:57:27 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 46 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 69865890-e249-4235-9613-08d92316a8be X-MS-TrafficTypeDiagnostic: DB8EUR05HT213: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sIU5wc51L5AFEhg0dQqo3uCuvmSJXgR+j+X/fupF2+wJdOGUiT/3SNd6izywW5BGBeLSK6L+CPf0IbrVG4V/7HYqpv8D84e8FDnQWVRsyFaKgf9OtywIUVUUdgi01JsiZhmHWzabEepZASe/Pg63GvBHbWaPg4BiK5OwkUtkNxMG05cCh/NfmRiprbf1gB4YVcf8uRxkfXLyzFfOg3CSJvt3DCkd2Gmwnn482AGFPBnFuLOTOkTSiOfhdq5vllGQa0y1Wfbq2GKHf9EjZMKfNiZ1SX0fU9vBtuY2euR7MKoF8xEzLHS9azP3unLt94AHzCwcmlpqKfZcsohQwmQ/CwKvIUHb5Ejs2aIogHzvD+gvUVmVSmN/Ihi61eE05yAJhfyScir2yrpLRmDGaw8Yjw== X-MS-Exchange-AntiSpam-MessageData: 9OMLsFO7/2HJGjfcyHffPiTc2nk+qUYwaDPi+0SbQftwVpkcuhCT36xw/HlwWcwhBQbYr5o77ii6tXqvV8mu/InrejkTJsMKKKdEZrNvSTY62ub7dvdRltJG2n0VSz5Z2yZxsZ301HdpuiMFnXqCbA== X-OriginatorOrg: live.com X-MS-Exchange-CrossTenant-Network-Message-Id: 69865890-e249-4235-9613-08d92316a8be X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2021 02:57:28.0097 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: DB8EUR05FT036.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8EUR05HT213 Received-SPF: pass client-ip=40.92.89.32; envelope-from=arthur.miller@live.com; helo=EUR05-DB8-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:270105 Archived-At: Michael Heerdegen writes: > Arthur Miller writes: > > >> (setq-local obarray (copy-sequence obarray)) > ^^^^^^^^^^^^^ > > I guess this is something different than with the originally suggested > `obarray-copy'. > > I once was told that obarray is not just simply an array of existing > symbols You mean I got a shallow copy of the obarray instead of a deep copy? Where do I find this obarray-copy? :-) I don't see it in 27.1. > (length obarray) ==> 15121 Yes, I get the same apocalytpic number, surprise :). > (let ((i 0)) (mapatoms (lambda (_) (cl-incf i))) i) ==> 66002 I get 45416. This is beyond my knowledge about how obarrays in Emacs are made. I just looked quickly in the source and see that make-obarray is in principle just a wrapper for (make-vector size 0), which then calls into make_vector in C code, so obviouslu the vector is allocated elsewhere since the length is a prime number. I guess it is just the number of predefined slots in the vector for hashing, not the actually numer of symbols in the array? I guess just buckets for chaining? I am not sure how to interpret the second number from mapatoms, collisions? :) But I am probably wrong, just speculating.