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.5 required=3.0 tests=AWL,BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY,URIBL_GREY shortcircuit=no autolearn=no 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 57F711F670 for ; Tue, 22 Feb 2022 17:37:20 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id D3CB9120E67; Wed, 23 Feb 2022 02:37:13 +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 3CE93120E66 for ; Wed, 23 Feb 2022 02:37:12 +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=DD5K8doYujgmDOmVmRVh1LbYVNnidfhf1aWxIgyt20U=; b=B5/28Zk6i02VyPBOSsEK+wb8/ORf95tU+ZSiAaq6NefumJtHx1qRL3Ko0eAWcRKiRHJB snZuF0CA69Hsrr5AfZ+CdhksMDPkzPKWYverJDnDC4jACfzPoX0iETBRsEcr4ynoRwu5gm l31jYlAFg/Fk41/YL3xvf4JOzDLO47zLY= Received: by filterdrecv-64fcb979b9-zwvj5 with SMTP id filterdrecv-64fcb979b9-zwvj5-1-62151F41-7B 2022-02-22 17:37:05.606508154 +0000 UTC m=+13973961.763854247 Received: from herokuapp.com (unknown) by geopod-ismtpd-4-2 (SG) with ESMTP id F0XWUmSFTDaVIb8r232tjw for ; Tue, 22 Feb 2022 17:37:05.552 +0000 (UTC) Date: Tue, 22 Feb 2022 17:37:05 +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: 84045 X-SG-EID: =?us-ascii?Q?Dq8GNIcVqP8cs5uR+EIAabfg3LE9XdC6dZ5KYNrMpf6VzBWG6HqArcu5raQjXL?= =?us-ascii?Q?IGTFdxKHUt7++67+KD54pNYXheirMcsUIf3sdgF?= =?us-ascii?Q?Riq06hcvN6vGHVptgeuo3QulMEt3ni1V3CuUT7+?= =?us-ascii?Q?SC0LwezzUMQt4Wl=2FVWsc2VurSfo7wcHkuv=2FGaQf?= =?us-ascii?Q?HYAYx1bXwLjOKyu6QS7QiQqEX0xCnO5MU1RIfLT?= =?us-ascii?Q?fdFQdUiQq=2Fn2RUX6aBHMpYtlLVFjdEDjt292BK=2F?= =?us-ascii?Q?6nr4SNmIrpgrDvvjQXafw=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 107715 Subject: [ruby-core:107715] [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" SXNzdWUgIzE4NTk5IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJ5cm9vdCAoSmVhbiBCb3Vzc2llciku CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkJ1ZyAjMTg1OTk6IGB2 bS0+bG9hZGVkX2ZlYXR1cmVzX3NuYXBzaG90YCBiZWNhbWUgdmVyeSBpbmVmZmljaWVudCBpbiBS dWJ5IDMuMQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTg1OTkKCiogQXV0aG9y OiBieXJvb3QgKEplYW4gQm91c3NpZXIpCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1h bAoqIHJ1YnkgLXY6IHJ1YnkgMy4xLjFwMTggKDIwMjItMDItMTggcmV2aXNpb24gNTNmNWZjNDIz NikgW3g4Nl82NC1kYXJ3aW4yMF0KKiBCYWNrcG9ydDogMi42OiBET05UTkVFRCwgMi43OiBET05U TkVFRCwgMy4wOiBET05UTkVFRCwgMy4xOiBVTktOT1dOCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KQSBjaGFuZ2UgaW4gaG93IHNoYXJlZCBhcnJheXMgYmVoYXZlIGhh cyBjYXVzZWQgYSBmYWlybHkgbWFqb3IgcGVyZm9ybWFuY2UgcmVncmVzc2lvbiBpbiBgS2VybmVs LnJlcXVpcmVgLiBJbiBzaG9ydCBvbiBldmVyeSBzaW5nbGUgY2FsbCwgYSBmdWxsIGNvcHkgb2Yg YCRMT0FERURfRkVBVFVSRVNgIGlzIG1hZGUuCgpJbiBvdXIgYXBwIHRoaXMgY2F1c2VzIG92ZXIg NkdpQiB3b3J0aCBvZiB1c2VsZXNzIGFsbG9jYXRpb25zLgoKIyMjIFJlcHJvZHVjdGlvbgoKYGBg cnVieQojIGZyb3plbl9zdHJpbmdfbGl0ZXJhbDogdHJ1ZQpyZXF1aXJlICJvYmpzcGFjZSIKZmls ZXMgPSA1LnRpbWVzLm1hcCB7IHxpfCAiL3RtcC9mb28tI3tpfS5yYiIgfQpmaWxlcy5lYWNoIHsg fGZ8IEZpbGUud3JpdGUoZiwgIiIpIH0KCnJlcXVpcmUgZmlsZXMuc2hpZnQKNC50aW1lcyB7IEdD LnN0YXJ0IH0KZ2VuZXJhdGlvbiA9IEdDLmNvdW50CgpPYmplY3RTcGFjZS50cmFjZV9vYmplY3Rf YWxsb2NhdGlvbnMgZG8KICBmaWxlcy5lYWNoIHsgfGZ8IHJlcXVpcmUgZiB9CmVuZAoKT2JqZWN0 U3BhY2UuZHVtcF9hbGwob3V0cHV0OiBGaWxlLm9wZW4oIi90bXAvYWxsb2NhdGVkLmhlYXAiLCAi dysiKSwgc2luY2U6IGdlbmVyYXRpb24pCk9iamVjdFNwYWNlLmR1bXBfYWxsKG91dHB1dDogRmls ZS5vcGVuKCIvdG1wL2Z1bGwuaGVhcCIsICJ3KyIpKQpgYGAKCklmIHlvdSBpbnNwZWN0IHRoZSBg YWxsb2NhdGVkLmhlYXBgLCB5b3UnbGwgbm90aWNlIDQgYXJyYXksIGVhY2ggaW5jcmVhc2luZ2x5 IGJpZ2dlci4KCmBgYAokIGdyZXAgQVJSQVkgL3RtcC9hbGxvY2F0ZWQuaGVhcCAKeyJhZGRyZXNz IjoiMHgxMGZlMmIzYjgiLCAidHlwZSI6IkFSUkFZIiwgImZyb3plbiI6dHJ1ZSwgImxlbmd0aCI6 OTIsICJyZWZlcmVuY2VzIjpbIjB4MTBmY2QzZGE4IiwgIjB4MTBmY2NhMmE4IiwgIjB4MTBmY2My MWMwIiwgLi4uXSwgImZpbGUiOiI8aW50ZXJuYWw6L29wdC9ydWJpZXMvMy4xLjAvbGliL3J1Ynkv My4xLjAvcnVieWdlbXMvY29yZV9leHQva2VybmVsX3JlcXVpcmUucmI+IiwgImxpbmUiOjg1LCAi bWV0aG9kIjoicmVxdWlyZSIsICJnZW5lcmF0aW9uIjoxMywgIm1lbXNpemUiOjc3NiwgImZsYWdz Ijp7IndiX3Byb3RlY3RlZCI6dHJ1ZX19Ci4uLgp7ImFkZHJlc3MiOiIweDEwZmUyYjY4OCIsICJ0 eXBlIjoiQVJSQVkiLCAiZnJvemVuIjp0cnVlLCAibGVuZ3RoIjo5MSwgInJlZmVyZW5jZXMiOlsi MHgxMGZjZDNkYTgiLCAiMHgxMGZjY2EyYTgiLCAiMHgxMGZjYzIxYzAiLCAuLi5dLCAiZmlsZSI6 IjxpbnRlcm5hbDovb3B0L3J1Ymllcy8zLjEuMC9saWIvcnVieS8zLjEuMC9ydWJ5Z2Vtcy9jb3Jl X2V4dC9rZXJuZWxfcmVxdWlyZS5yYj4iLCAibGluZSI6ODUsICJtZXRob2QiOiJyZXF1aXJlIiwg ImdlbmVyYXRpb24iOjEzLCAibWVtc2l6ZSI6NzY4LCAiZmxhZ3MiOnsid2JfcHJvdGVjdGVkIjp0 cnVlfX0KLi4uCnsiYWRkcmVzcyI6IjB4MTBmZTJiOTU4IiwgInR5cGUiOiJBUlJBWSIsICJmcm96 ZW4iOnRydWUsICJsZW5ndGgiOjg5LCAicmVmZXJlbmNlcyI6WyIweDEwZmNkM2RhOCIsICIweDEw ZmNjYTJhOCIsICIweDEwZmNjMjFjMCIsIC4uLl0sICJmaWxlIjoiPGludGVybmFsOi9vcHQvcnVi aWVzLzMuMS4wL2xpYi9ydWJ5LzMuMS4wL3J1YnlnZW1zL2NvcmVfZXh0L2tlcm5lbF9yZXF1aXJl LnJiPiIsICJsaW5lIjo4NSwgIm1ldGhvZCI6InJlcXVpcmUiLCAiZ2VuZXJhdGlvbiI6MTMsICJt ZW1zaXplIjo3NTIsICJmbGFncyI6eyJ3Yl9wcm90ZWN0ZWQiOnRydWV9fQouLi4KeyJhZGRyZXNz IjoiMHgxMGZlMmJjMjgiLCAidHlwZSI6IkFSUkFZIiwgImZyb3plbiI6dHJ1ZSwgImxlbmd0aCI6 ODgsICJyZWZlcmVuY2VzIjpbIjB4MTBmY2QzZGE4IiwgIjB4MTBmY2NhMmE4IiwgIjB4MTBmY2My MWMwIiwgLi4uXSwgImZpbGUiOiI8aW50ZXJuYWw6L29wdC9ydWJpZXMvMy4xLjAvbGliL3J1Ynkv My4xLjAvcnVieWdlbXMvY29yZV9leHQva2VybmVsX3JlcXVpcmUucmI+IiwgImxpbmUiOjg1LCAi bWV0aG9kIjoicmVxdWlyZSIsICJnZW5lcmF0aW9uIjoxMywgIm1lbXNpemUiOjc0NCwgImZsYWdz Ijp7IndiX3Byb3RlY3RlZCI6dHJ1ZX19Ci4uLgpgYGAKCkFuZCBpZiB5b3UgbG9va3VwIHRoZSBh ZGRyZXNzZXMgaW4gYGZ1bGwuaGVhcGAsIGl0IG1ha2VzIG5vIGRvdWJ0IHRoYXQgaXQncyBgJExP QURFRF9GRUFUVVJFU2AuCgpOb3RlIGhvd2V2ZXIgaG93IHRoZSBhcnJheSBpcyBgImZyb3plbiI6 dHJ1ZWAsIHNvIGl0J3Mgbm90IGAkTE9BREVEX0ZFQVRVUkVTYCBkaXJlY3RseSwgYnV0IHRoZSBz aGFyZWQgYXJyYXkgdGhhdCBiYWNrcyBgdm0tPmxvYWRlZF9mZWF0dXJlc2AgYW5kIGB2bS0+bG9h ZGVkX2ZlYXR1cmVzX3NuYXBzaG90YC4KCgojIyMgTW9yZSBzY29wZWQgcmVwcm9kdWN0aW9uCgpJ ZiB3ZSBzY29wZSBvbiBzaGFyZWQgYXJyYXlzIGJlaGF2aW9yIHNwZWNpZmljYWxseSwgd2UgY2Fu IGdldCBhIG11Y2ggc21hbGxlciByZXByb2R1Y3Rpb246CgpgYGBydWJ5CmFycmF5ID0gMTAudGlt ZXMudG9fYQpjb3B5ID0gYXJyYXkuZHVwCmJlZm9yZSA9IEdDLnN0YXQoOnRvdGFsX2FsbG9jYXRl ZF9vYmplY3RzKQpjb3B5IDw8IDEKcCBHQy5zdGF0KDp0b3RhbF9hbGxvY2F0ZWRfb2JqZWN0cykg LSBiZWZvcmUgIyAxIG9uIFJ1YnkgMy4xLCAwIG9uIDMuMCBhbmQgb2xkZXIKYGBgCgpJbiBzaG9y dCwgYmFjayBpbiAzLjAgYW5kIG9sZGVyLCBhcHBlbmRpbmcgdG8gYSBzaGFyZWQgYXJyYXkgd291 bGRuJ3QgInVuc2hhcmUiIHRoZSBhcnJheSwgYnV0IHN0YXJ0aW5nIGluIDMuMSBpdCBub3cgZG9l cy4KVGhlIHByb2JsZW0gYmVpbmcgdGhhdCBgS2VybmVsLnJlcXVpcmVgIGhlYXZpbHkgYXNzdW1l ZCB0aGlzIGltcGxlbWVudGF0aW9uIGRldGFpbDoKCmBgYGMKc3RhdGljIHZvaWQKcmVzZXRfbG9h ZGVkX2ZlYXR1cmVzX3NuYXBzaG90KHJiX3ZtX3QgKnZtKQp7CiAgICByYl9hcnlfcmVwbGFjZSh2 bS0+bG9hZGVkX2ZlYXR1cmVzX3NuYXBzaG90LCB2bS0+bG9hZGVkX2ZlYXR1cmVzKTsKfQoKcmJf cHJvdmlkZV9mZWF0dXJlKHJiX3ZtX3QgKnZtLCBWQUxVRSBmZWF0dXJlKQp7CiAgICAvLy4uLgog ICAgZ2V0X2xvYWRlZF9mZWF0dXJlc19pbmRleCh2bSk7CiAgICByYl9hcnlfcHVzaChmZWF0dXJl cywgcmJfZnN0cmluZyhmZWF0dXJlKSk7CiAgICBmZWF0dXJlc19pbmRleF9hZGQodm0sIGZlYXR1 cmUsIElOVDJGSVgoUkFSUkFZX0xFTihmZWF0dXJlcyktMSkpOwogICAgcmVzZXRfbG9hZGVkX2Zl YXR1cmVzX3NuYXBzaG90KHZtKTsKfQpgYGAKCmByYl9wcm92aWRlX2ZlYXR1cmVgIGZpcnN0IGFw cGVuZCB0byBgJExPQURFRF9GRUFUVVJFU2AgYW5kIHRoZW4gcmVzZXRzIGB2bS0+bG9hZGVkX2Zl YXR1cmVzX3NuYXBzaG90YCB0byBiZSBhIHNoYXJlZCBjb3B5IG9mIGAkTE9BREVEX0ZFQVRVUkVT YC4KCgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCg==