From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-3.6 required=3.0 tests=AWL,BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY,URIBL_GREY shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 436C71F670 for ; Wed, 23 Feb 2022 16:09:48 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id BB536121006; Thu, 24 Feb 2022 01:09:41 +0900 (JST) Received: from xtrwkhkc.outbound-mail.sendgrid.net (xtrwkhkc.outbound-mail.sendgrid.net [167.89.16.28]) by neon.ruby-lang.org (Postfix) with ESMTPS id 447E9121006 for ; Thu, 24 Feb 2022 01:09:39 +0900 (JST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sendgrid.me; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to; s=smtpapi; bh=ekGOvLlusj4kinpklbgnwtgNMBYwG4hdoh/KAYIKsnA=; b=Fsei07+oSUwDzqgHbZpRqqQFHX1ETaIcHlkFCgx5g59NjSSBRNNh4HizeVT6pTr2kXhV joPCyrUzDgIR0Pj+A659cyLcoooYJBKPtZ6kI4YnxiZKv1VGjrOFM1ERPzsPLiPv9aRk7C 4LmkcJivDEb7aodFnJ4iAAD7xaAHLAxQc= Received: by filterdrecv-55446c4d49-l26zx with SMTP id filterdrecv-55446c4d49-l26zx-1-62165C3D-52 2022-02-23 16:09:33.422811704 +0000 UTC m=+15097746.103241046 Received: from herokuapp.com (unknown) by ismtpd0146p1mdw1.sendgrid.net (SG) with ESMTP id PQsih8FVRwexw6DLeDZPoQ for ; Wed, 23 Feb 2022 16:09:33.341 +0000 (UTC) Date: Wed, 23 Feb 2022 16:09:33 +0000 (UTC) From: "byroot (Jean Boussier)" Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Bug X-Redmine-Issue-Id: 18599 X-Redmine-Issue-Author: byroot X-Redmine-Sender: byroot X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-Redmine-MailingListIntegration-Message-Ids: 84063 X-SG-EID: =?us-ascii?Q?Dq8GNIcVqP8cs5uR+EIAabfg3LE9XdC6dZ5KYNrMpf6VzBWG6HqArcu5raQjXL?= =?us-ascii?Q?IGTFdxKHUt7++67+KD54pNYXheirMcsUIf3sdgF?= =?us-ascii?Q?Riq06i1jrlv2jJnDAdDG1Ujfs5I5MXW7MFV2Vq=2F?= =?us-ascii?Q?vdEIdk9v96b69Kbt3bDLvoOzPIiJ8d1HXzBxQkP?= =?us-ascii?Q?NEy004X8NtE2Z+8kolTn63jyfwX5jfIKqzOpp9o?= =?us-ascii?Q?H+fUJ7seXfhb0SNgorPnBN0kDJv95J78Kw1Cs6z?= =?us-ascii?Q?efD+1xuDtR+7LxkUMfIvw=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 107733 Subject: [ruby-core:107733] [Ruby master Bug#18599] `vm->loaded_features_snapshot` became very inefficient in Ruby 3.1 X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Reply-To: Ruby developers Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" SXNzdWUgIzE4NTk5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgYnlyb290IChKZWFuIEJvdXNzaWVyKS4K CkJhY2twb3J0IGNoYW5nZWQgZnJvbSAyLjY6IERPTlRORUVELCAyLjc6IERPTlRORUVELCAzLjA6 IERPTlRORUVELCAzLjE6IFVOS05PV04gdG8gMi42OiBET05UTkVFRCwgMi43OiBVTktOT1dOLCAz LjA6IFVOS05PV04sIDMuMTogVU5LTk9XTgoKT2ssIHNvIG15IGFzc2Vzc21lbnQgYWJvdXQgc2hh cmVkIGFycmF5cyB3YXNuJ3QgcXVpdGUgY29ycmVjdC4gV2hhdCBjYXVzZWQgdGhlIGRpZmZlcmVu Y2UgYmV0d2VlbiAzLjAgYW5kIDMuMSBoZXJlIGlzIGh0dHA6Ly9naXRodWIuY29tL3J1YnkvcnVi eS9jb21taXQvYWVhZTZlMjg0MmUxNzAyZGZiODliOGFlNjliNDhjNGY1ZjY0YzY2MgoKUHJldmlv dXNseSB0aGUgc2hhcmVkIGFycmF5IHdvdWxkIGJlIGZvcmNlIHJlY3ljbGVkIGltbWVkaWF0ZWx5 LCB3aGljaCB3YXMgaGlkaW5nIHRoZSBwcm9ibGVtLCBidXQgaXQgd2FzIGFscmVhZHkgdGhlcmUu CgpXaXRoIHRoZSBoZWxwIG9mIEBwZXRlcnpodTIxMTgsIHdlIGZpZ3VyZWQgYSBmYWlybHkgc2lt cGxlIHBhdGNoIGZvciB0aGlzOiBodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L3B1bGwvNTU5 MwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQnVnICMxODU5OTog YHZtLT5sb2FkZWRfZmVhdHVyZXNfc25hcHNob3RgIGJlY2FtZSB2ZXJ5IGluZWZmaWNpZW50IGlu IFJ1YnkgMy4xCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xODU5OSNjaGFuZ2Ut OTY2NTYKCiogQXV0aG9yOiBieXJvb3QgKEplYW4gQm91c3NpZXIpCiogU3RhdHVzOiBPcGVuCiog UHJpb3JpdHk6IE5vcm1hbAoqIHJ1YnkgLXY6IHJ1YnkgMy4xLjFwMTggKDIwMjItMDItMTggcmV2 aXNpb24gNTNmNWZjNDIzNikgW3g4Nl82NC1kYXJ3aW4yMF0KKiBCYWNrcG9ydDogMi42OiBET05U TkVFRCwgMi43OiBVTktOT1dOLCAzLjA6IFVOS05PV04sIDMuMTogVU5LTk9XTgotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkEgY2hhbmdlIGluIGhvdyBzaGFyZWQgYXJy YXlzIGJlaGF2ZSBoYXMgY2F1c2VkIGEgZmFpcmx5IG1ham9yIHBlcmZvcm1hbmNlIHJlZ3Jlc3Np b24gaW4gYEtlcm5lbC5yZXF1aXJlYC4gSW4gc2hvcnQgb24gZXZlcnkgc2luZ2xlIGNhbGwsIGEg ZnVsbCBjb3B5IG9mIGAkTE9BREVEX0ZFQVRVUkVTYCBpcyBtYWRlLgoKSW4gb3VyIGFwcCB0aGlz IGNhdXNlcyBvdmVyIDZHaUIgd29ydGggb2YgdXNlbGVzcyBhbGxvY2F0aW9ucy4KCiMjIyBSZXBy b2R1Y3Rpb24KCmBgYHJ1YnkKIyBmcm96ZW5fc3RyaW5nX2xpdGVyYWw6IHRydWUKcmVxdWlyZSAi b2Jqc3BhY2UiCmZpbGVzID0gNS50aW1lcy5tYXAgeyB8aXwgIi90bXAvZm9vLSN7aX0ucmIiIH0K ZmlsZXMuZWFjaCB7IHxmfCBGaWxlLndyaXRlKGYsICIiKSB9CgpyZXF1aXJlIGZpbGVzLnNoaWZ0 CjQudGltZXMgeyBHQy5zdGFydCB9CmdlbmVyYXRpb24gPSBHQy5jb3VudAoKT2JqZWN0U3BhY2Uu dHJhY2Vfb2JqZWN0X2FsbG9jYXRpb25zIGRvCiAgZmlsZXMuZWFjaCB7IHxmfCByZXF1aXJlIGYg fQplbmQKCk9iamVjdFNwYWNlLmR1bXBfYWxsKG91dHB1dDogRmlsZS5vcGVuKCIvdG1wL2FsbG9j YXRlZC5oZWFwIiwgIncrIiksIHNpbmNlOiBnZW5lcmF0aW9uKQpPYmplY3RTcGFjZS5kdW1wX2Fs bChvdXRwdXQ6IEZpbGUub3BlbigiL3RtcC9mdWxsLmhlYXAiLCAidysiKSkKYGBgCgpJZiB5b3Ug aW5zcGVjdCB0aGUgYGFsbG9jYXRlZC5oZWFwYCwgeW91J2xsIG5vdGljZSA0IGFycmF5LCBlYWNo IGluY3JlYXNpbmdseSBiaWdnZXIuCgpgYGAKJCBncmVwIEFSUkFZIC90bXAvYWxsb2NhdGVkLmhl YXAgCnsiYWRkcmVzcyI6IjB4MTBmZTJiM2I4IiwgInR5cGUiOiJBUlJBWSIsICJmcm96ZW4iOnRy dWUsICJsZW5ndGgiOjkyLCAicmVmZXJlbmNlcyI6WyIweDEwZmNkM2RhOCIsICIweDEwZmNjYTJh OCIsICIweDEwZmNjMjFjMCIsIC4uLl0sICJmaWxlIjoiPGludGVybmFsOi9vcHQvcnViaWVzLzMu MS4wL2xpYi9ydWJ5LzMuMS4wL3J1YnlnZW1zL2NvcmVfZXh0L2tlcm5lbF9yZXF1aXJlLnJiPiIs ICJsaW5lIjo4NSwgIm1ldGhvZCI6InJlcXVpcmUiLCAiZ2VuZXJhdGlvbiI6MTMsICJtZW1zaXpl Ijo3NzYsICJmbGFncyI6eyJ3Yl9wcm90ZWN0ZWQiOnRydWV9fQouLi4KeyJhZGRyZXNzIjoiMHgx MGZlMmI2ODgiLCAidHlwZSI6IkFSUkFZIiwgImZyb3plbiI6dHJ1ZSwgImxlbmd0aCI6OTEsICJy ZWZlcmVuY2VzIjpbIjB4MTBmY2QzZGE4IiwgIjB4MTBmY2NhMmE4IiwgIjB4MTBmY2MyMWMwIiwg Li4uXSwgImZpbGUiOiI8aW50ZXJuYWw6L29wdC9ydWJpZXMvMy4xLjAvbGliL3J1YnkvMy4xLjAv cnVieWdlbXMvY29yZV9leHQva2VybmVsX3JlcXVpcmUucmI+IiwgImxpbmUiOjg1LCAibWV0aG9k IjoicmVxdWlyZSIsICJnZW5lcmF0aW9uIjoxMywgIm1lbXNpemUiOjc2OCwgImZsYWdzIjp7Indi X3Byb3RlY3RlZCI6dHJ1ZX19Ci4uLgp7ImFkZHJlc3MiOiIweDEwZmUyYjk1OCIsICJ0eXBlIjoi QVJSQVkiLCAiZnJvemVuIjp0cnVlLCAibGVuZ3RoIjo4OSwgInJlZmVyZW5jZXMiOlsiMHgxMGZj ZDNkYTgiLCAiMHgxMGZjY2EyYTgiLCAiMHgxMGZjYzIxYzAiLCAuLi5dLCAiZmlsZSI6IjxpbnRl cm5hbDovb3B0L3J1Ymllcy8zLjEuMC9saWIvcnVieS8zLjEuMC9ydWJ5Z2Vtcy9jb3JlX2V4dC9r ZXJuZWxfcmVxdWlyZS5yYj4iLCAibGluZSI6ODUsICJtZXRob2QiOiJyZXF1aXJlIiwgImdlbmVy YXRpb24iOjEzLCAibWVtc2l6ZSI6NzUyLCAiZmxhZ3MiOnsid2JfcHJvdGVjdGVkIjp0cnVlfX0K Li4uCnsiYWRkcmVzcyI6IjB4MTBmZTJiYzI4IiwgInR5cGUiOiJBUlJBWSIsICJmcm96ZW4iOnRy dWUsICJsZW5ndGgiOjg4LCAicmVmZXJlbmNlcyI6WyIweDEwZmNkM2RhOCIsICIweDEwZmNjYTJh OCIsICIweDEwZmNjMjFjMCIsIC4uLl0sICJmaWxlIjoiPGludGVybmFsOi9vcHQvcnViaWVzLzMu MS4wL2xpYi9ydWJ5LzMuMS4wL3J1YnlnZW1zL2NvcmVfZXh0L2tlcm5lbF9yZXF1aXJlLnJiPiIs ICJsaW5lIjo4NSwgIm1ldGhvZCI6InJlcXVpcmUiLCAiZ2VuZXJhdGlvbiI6MTMsICJtZW1zaXpl Ijo3NDQsICJmbGFncyI6eyJ3Yl9wcm90ZWN0ZWQiOnRydWV9fQouLi4KYGBgCgpBbmQgaWYgeW91 IGxvb2t1cCB0aGUgYWRkcmVzc2VzIGluIGBmdWxsLmhlYXBgLCBpdCBtYWtlcyBubyBkb3VidCB0 aGF0IGl0J3MgYCRMT0FERURfRkVBVFVSRVNgLgoKTm90ZSBob3dldmVyIGhvdyB0aGUgYXJyYXkg aXMgYCJmcm96ZW4iOnRydWVgLCBzbyBpdCdzIG5vdCBgJExPQURFRF9GRUFUVVJFU2AgZGlyZWN0 bHksIGJ1dCB0aGUgc2hhcmVkIGFycmF5IHRoYXQgYmFja3MgYHZtLT5sb2FkZWRfZmVhdHVyZXNg IGFuZCBgdm0tPmxvYWRlZF9mZWF0dXJlc19zbmFwc2hvdGAuCgoKIyMjIE1vcmUgc2NvcGVkIHJl cHJvZHVjdGlvbgoKSWYgd2Ugc2NvcGUgb24gc2hhcmVkIGFycmF5cyBiZWhhdmlvciBzcGVjaWZp Y2FsbHksIHdlIGNhbiBnZXQgYSBtdWNoIHNtYWxsZXIgcmVwcm9kdWN0aW9uOgoKYGBgcnVieQph cnJheSA9IDEwLnRpbWVzLnRvX2EKY29weSA9IGFycmF5LmR1cApiZWZvcmUgPSBHQy5zdGF0KDp0 b3RhbF9hbGxvY2F0ZWRfb2JqZWN0cykKY29weSA8PCAxCnAgR0Muc3RhdCg6dG90YWxfYWxsb2Nh dGVkX29iamVjdHMpIC0gYmVmb3JlICMgMSBvbiBSdWJ5IDMuMSwgMCBvbiAzLjAgYW5kIG9sZGVy CmBgYAoKSW4gc2hvcnQsIGJhY2sgaW4gMy4wIGFuZCBvbGRlciwgYXBwZW5kaW5nIHRvIGEgc2hh cmVkIGFycmF5IHdvdWxkbid0ICJ1bnNoYXJlIiB0aGUgYXJyYXksIGJ1dCBzdGFydGluZyBpbiAz LjEgaXQgbm93IGRvZXMuClRoZSBwcm9ibGVtIGJlaW5nIHRoYXQgYEtlcm5lbC5yZXF1aXJlYCBo ZWF2aWx5IGFzc3VtZWQgdGhpcyBpbXBsZW1lbnRhdGlvbiBkZXRhaWw6CgpgYGBjCnN0YXRpYyB2 b2lkCnJlc2V0X2xvYWRlZF9mZWF0dXJlc19zbmFwc2hvdChyYl92bV90ICp2bSkKewogICAgcmJf YXJ5X3JlcGxhY2Uodm0tPmxvYWRlZF9mZWF0dXJlc19zbmFwc2hvdCwgdm0tPmxvYWRlZF9mZWF0 dXJlcyk7Cn0KCnJiX3Byb3ZpZGVfZmVhdHVyZShyYl92bV90ICp2bSwgVkFMVUUgZmVhdHVyZSkK ewogICAgLy8uLi4KICAgIGdldF9sb2FkZWRfZmVhdHVyZXNfaW5kZXgodm0pOwogICAgcmJfYXJ5 X3B1c2goZmVhdHVyZXMsIHJiX2ZzdHJpbmcoZmVhdHVyZSkpOwogICAgZmVhdHVyZXNfaW5kZXhf YWRkKHZtLCBmZWF0dXJlLCBJTlQyRklYKFJBUlJBWV9MRU4oZmVhdHVyZXMpLTEpKTsKICAgIHJl c2V0X2xvYWRlZF9mZWF0dXJlc19zbmFwc2hvdCh2bSk7Cn0KYGBgCgpgcmJfcHJvdmlkZV9mZWF0 dXJlYCBmaXJzdCBhcHBlbmQgdG8gYCRMT0FERURfRkVBVFVSRVNgIGFuZCB0aGVuIHJlc2V0cyBg dm0tPmxvYWRlZF9mZWF0dXJlc19zbmFwc2hvdGAgdG8gYmUgYSBzaGFyZWQgY29weSBvZiBgJExP QURFRF9GRUFUVVJFU2AuCgoKCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwo=