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 D8A621F670 for ; Wed, 23 Feb 2022 17:05:29 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 4FF9D121041; Thu, 24 Feb 2022 02:05:21 +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 020F3121019 for ; Thu, 24 Feb 2022 02:05:18 +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=QsDugTlot5OjGw7qq847X3ZHuapZyh7dCHRSe6yIifE=; b=c3ksP9M9/A1rRTwcKapijhwNB6CknpPukt8l2Vu7Be43VNGIraBzoO7QyiNAUMXmRIvy pkSuKsx3siAPpde0fbETUB6PNzAVXbHSEHoortYh4d8NQB9QJcZWQxlKROgI6WtGT/rgJZ XGMQhSvr53yRTbAa+D8PC5Qqpl643L11A= Received: by filterdrecv-55446c4d49-zsvsd with SMTP id filterdrecv-55446c4d49-zsvsd-1-62166949-118 2022-02-23 17:05:13.888172246 +0000 UTC m=+15101128.294521959 Received: from herokuapp.com (unknown) by geopod-ismtpd-3-1 (SG) with ESMTP id LTIvAW7iRnqz76Ob6eVQvg for ; Wed, 23 Feb 2022 17:05:13.877 +0000 (UTC) Date: Wed, 23 Feb 2022 17:05:13 +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: 84064 X-SG-EID: =?us-ascii?Q?Dq8GNIcVqP8cs5uR+EIAabfg3LE9XdC6dZ5KYNrMpf6VzBWG6HqArcu5raQjXL?= =?us-ascii?Q?IGTFdxKHUt7++67+KD54pNYXheirMcsUIf3sdgF?= =?us-ascii?Q?Riq06i0kuqxMZ6PmoaOOCXDsL6ldXzPs4D3G=2FtH?= =?us-ascii?Q?5lae7QuXY51vn10lg1yz3BY5A=2FAfsW08VwCHRSu?= =?us-ascii?Q?u02Ws+So=2F9mGnxxh8=2FLAqadZrOsZ8GRO4geDlfU?= =?us-ascii?Q?V2aMUeWAyjPlTOfZPJGVA8UyVG0SdLepHvw726e?= =?us-ascii?Q?sf9KI=2FnArssceLkdLgDDQ=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 107734 Subject: [ruby-core:107734] [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 CgpJIHRlc3RlZCB0aGUgcGF0Y2ggYWdhaW5zdCBvdXIgYXBwLCBpdCBkb2VzIHNvbHZlIHRoZSBw cm9ibGVtIHBlcmZlY3RseSwgYW5kIHRoZSB0aW1lIHNwZW50IGluIEdDIGR1cmluZyBib290IGlz IG5vdGljZWFibHkgcmVkdWNlZCAoYH40MCUgLT4gfjI4JWApLgoKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpCdWcgIzE4NTk5OiBgdm0tPmxvYWRlZF9mZWF0dXJlc19z bmFwc2hvdGAgYmVjYW1lIHZlcnkgaW5lZmZpY2llbnQgaW4gUnVieSAzLjEKaHR0cHM6Ly9idWdz LnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE4NTk5I2NoYW5nZS05NjY1NwoKKiBBdXRob3I6IGJ5cm9v dCAoSmVhbiBCb3Vzc2llcikKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCiogcnVi eSAtdjogcnVieSAzLjEuMXAxOCAoMjAyMi0wMi0xOCByZXZpc2lvbiA1M2Y1ZmM0MjM2KSBbeDg2 XzY0LWRhcndpbjIwXQoqIEJhY2twb3J0OiAyLjY6IERPTlRORUVELCAyLjc6IFVOS05PV04sIDMu MDogVU5LTk9XTiwgMy4xOiBVTktOT1dOCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KQSBjaGFuZ2UgaW4gaG93IHNoYXJlZCBhcnJheXMgYmVoYXZlIGhhcyBjYXVzZWQg YSBmYWlybHkgbWFqb3IgcGVyZm9ybWFuY2UgcmVncmVzc2lvbiBpbiBgS2VybmVsLnJlcXVpcmVg LiBJbiBzaG9ydCBvbiBldmVyeSBzaW5nbGUgY2FsbCwgYSBmdWxsIGNvcHkgb2YgYCRMT0FERURf RkVBVFVSRVNgIGlzIG1hZGUuCgpJbiBvdXIgYXBwIHRoaXMgY2F1c2VzIG92ZXIgNkdpQiB3b3J0 aCBvZiB1c2VsZXNzIGFsbG9jYXRpb25zLgoKIyMjIFJlcHJvZHVjdGlvbgoKYGBgcnVieQojIGZy b3plbl9zdHJpbmdfbGl0ZXJhbDogdHJ1ZQpyZXF1aXJlICJvYmpzcGFjZSIKZmlsZXMgPSA1LnRp bWVzLm1hcCB7IHxpfCAiL3RtcC9mb28tI3tpfS5yYiIgfQpmaWxlcy5lYWNoIHsgfGZ8IEZpbGUu d3JpdGUoZiwgIiIpIH0KCnJlcXVpcmUgZmlsZXMuc2hpZnQKNC50aW1lcyB7IEdDLnN0YXJ0IH0K Z2VuZXJhdGlvbiA9IEdDLmNvdW50CgpPYmplY3RTcGFjZS50cmFjZV9vYmplY3RfYWxsb2NhdGlv bnMgZG8KICBmaWxlcy5lYWNoIHsgfGZ8IHJlcXVpcmUgZiB9CmVuZAoKT2JqZWN0U3BhY2UuZHVt cF9hbGwob3V0cHV0OiBGaWxlLm9wZW4oIi90bXAvYWxsb2NhdGVkLmhlYXAiLCAidysiKSwgc2lu Y2U6IGdlbmVyYXRpb24pCk9iamVjdFNwYWNlLmR1bXBfYWxsKG91dHB1dDogRmlsZS5vcGVuKCIv dG1wL2Z1bGwuaGVhcCIsICJ3KyIpKQpgYGAKCklmIHlvdSBpbnNwZWN0IHRoZSBgYWxsb2NhdGVk LmhlYXBgLCB5b3UnbGwgbm90aWNlIDQgYXJyYXksIGVhY2ggaW5jcmVhc2luZ2x5IGJpZ2dlci4K CmBgYAokIGdyZXAgQVJSQVkgL3RtcC9hbGxvY2F0ZWQuaGVhcCAKeyJhZGRyZXNzIjoiMHgxMGZl MmIzYjgiLCAidHlwZSI6IkFSUkFZIiwgImZyb3plbiI6dHJ1ZSwgImxlbmd0aCI6OTIsICJyZWZl cmVuY2VzIjpbIjB4MTBmY2QzZGE4IiwgIjB4MTBmY2NhMmE4IiwgIjB4MTBmY2MyMWMwIiwgLi4u XSwgImZpbGUiOiI8aW50ZXJuYWw6L29wdC9ydWJpZXMvMy4xLjAvbGliL3J1YnkvMy4xLjAvcnVi eWdlbXMvY29yZV9leHQva2VybmVsX3JlcXVpcmUucmI+IiwgImxpbmUiOjg1LCAibWV0aG9kIjoi cmVxdWlyZSIsICJnZW5lcmF0aW9uIjoxMywgIm1lbXNpemUiOjc3NiwgImZsYWdzIjp7IndiX3By b3RlY3RlZCI6dHJ1ZX19Ci4uLgp7ImFkZHJlc3MiOiIweDEwZmUyYjY4OCIsICJ0eXBlIjoiQVJS QVkiLCAiZnJvemVuIjp0cnVlLCAibGVuZ3RoIjo5MSwgInJlZmVyZW5jZXMiOlsiMHgxMGZjZDNk YTgiLCAiMHgxMGZjY2EyYTgiLCAiMHgxMGZjYzIxYzAiLCAuLi5dLCAiZmlsZSI6IjxpbnRlcm5h bDovb3B0L3J1Ymllcy8zLjEuMC9saWIvcnVieS8zLjEuMC9ydWJ5Z2Vtcy9jb3JlX2V4dC9rZXJu ZWxfcmVxdWlyZS5yYj4iLCAibGluZSI6ODUsICJtZXRob2QiOiJyZXF1aXJlIiwgImdlbmVyYXRp b24iOjEzLCAibWVtc2l6ZSI6NzY4LCAiZmxhZ3MiOnsid2JfcHJvdGVjdGVkIjp0cnVlfX0KLi4u CnsiYWRkcmVzcyI6IjB4MTBmZTJiOTU4IiwgInR5cGUiOiJBUlJBWSIsICJmcm96ZW4iOnRydWUs ICJsZW5ndGgiOjg5LCAicmVmZXJlbmNlcyI6WyIweDEwZmNkM2RhOCIsICIweDEwZmNjYTJhOCIs ICIweDEwZmNjMjFjMCIsIC4uLl0sICJmaWxlIjoiPGludGVybmFsOi9vcHQvcnViaWVzLzMuMS4w L2xpYi9ydWJ5LzMuMS4wL3J1YnlnZW1zL2NvcmVfZXh0L2tlcm5lbF9yZXF1aXJlLnJiPiIsICJs aW5lIjo4NSwgIm1ldGhvZCI6InJlcXVpcmUiLCAiZ2VuZXJhdGlvbiI6MTMsICJtZW1zaXplIjo3 NTIsICJmbGFncyI6eyJ3Yl9wcm90ZWN0ZWQiOnRydWV9fQouLi4KeyJhZGRyZXNzIjoiMHgxMGZl MmJjMjgiLCAidHlwZSI6IkFSUkFZIiwgImZyb3plbiI6dHJ1ZSwgImxlbmd0aCI6ODgsICJyZWZl cmVuY2VzIjpbIjB4MTBmY2QzZGE4IiwgIjB4MTBmY2NhMmE4IiwgIjB4MTBmY2MyMWMwIiwgLi4u XSwgImZpbGUiOiI8aW50ZXJuYWw6L29wdC9ydWJpZXMvMy4xLjAvbGliL3J1YnkvMy4xLjAvcnVi eWdlbXMvY29yZV9leHQva2VybmVsX3JlcXVpcmUucmI+IiwgImxpbmUiOjg1LCAibWV0aG9kIjoi cmVxdWlyZSIsICJnZW5lcmF0aW9uIjoxMywgIm1lbXNpemUiOjc0NCwgImZsYWdzIjp7IndiX3By b3RlY3RlZCI6dHJ1ZX19Ci4uLgpgYGAKCkFuZCBpZiB5b3UgbG9va3VwIHRoZSBhZGRyZXNzZXMg aW4gYGZ1bGwuaGVhcGAsIGl0IG1ha2VzIG5vIGRvdWJ0IHRoYXQgaXQncyBgJExPQURFRF9GRUFU VVJFU2AuCgpOb3RlIGhvd2V2ZXIgaG93IHRoZSBhcnJheSBpcyBgImZyb3plbiI6dHJ1ZWAsIHNv IGl0J3Mgbm90IGAkTE9BREVEX0ZFQVRVUkVTYCBkaXJlY3RseSwgYnV0IHRoZSBzaGFyZWQgYXJy YXkgdGhhdCBiYWNrcyBgdm0tPmxvYWRlZF9mZWF0dXJlc2AgYW5kIGB2bS0+bG9hZGVkX2ZlYXR1 cmVzX3NuYXBzaG90YC4KCgojIyMgTW9yZSBzY29wZWQgcmVwcm9kdWN0aW9uCgpJZiB3ZSBzY29w ZSBvbiBzaGFyZWQgYXJyYXlzIGJlaGF2aW9yIHNwZWNpZmljYWxseSwgd2UgY2FuIGdldCBhIG11 Y2ggc21hbGxlciByZXByb2R1Y3Rpb246CgpgYGBydWJ5CmFycmF5ID0gMTAudGltZXMudG9fYQpj b3B5ID0gYXJyYXkuZHVwCmJlZm9yZSA9IEdDLnN0YXQoOnRvdGFsX2FsbG9jYXRlZF9vYmplY3Rz KQpjb3B5IDw8IDEKcCBHQy5zdGF0KDp0b3RhbF9hbGxvY2F0ZWRfb2JqZWN0cykgLSBiZWZvcmUg IyAxIG9uIFJ1YnkgMy4xLCAwIG9uIDMuMCBhbmQgb2xkZXIKYGBgCgpJbiBzaG9ydCwgYmFjayBp biAzLjAgYW5kIG9sZGVyLCBhcHBlbmRpbmcgdG8gYSBzaGFyZWQgYXJyYXkgd291bGRuJ3QgInVu c2hhcmUiIHRoZSBhcnJheSwgYnV0IHN0YXJ0aW5nIGluIDMuMSBpdCBub3cgZG9lcy4KVGhlIHBy b2JsZW0gYmVpbmcgdGhhdCBgS2VybmVsLnJlcXVpcmVgIGhlYXZpbHkgYXNzdW1lZCB0aGlzIGlt cGxlbWVudGF0aW9uIGRldGFpbDoKCmBgYGMKc3RhdGljIHZvaWQKcmVzZXRfbG9hZGVkX2ZlYXR1 cmVzX3NuYXBzaG90KHJiX3ZtX3QgKnZtKQp7CiAgICByYl9hcnlfcmVwbGFjZSh2bS0+bG9hZGVk X2ZlYXR1cmVzX3NuYXBzaG90LCB2bS0+bG9hZGVkX2ZlYXR1cmVzKTsKfQoKcmJfcHJvdmlkZV9m ZWF0dXJlKHJiX3ZtX3QgKnZtLCBWQUxVRSBmZWF0dXJlKQp7CiAgICAvLy4uLgogICAgZ2V0X2xv YWRlZF9mZWF0dXJlc19pbmRleCh2bSk7CiAgICByYl9hcnlfcHVzaChmZWF0dXJlcywgcmJfZnN0 cmluZyhmZWF0dXJlKSk7CiAgICBmZWF0dXJlc19pbmRleF9hZGQodm0sIGZlYXR1cmUsIElOVDJG SVgoUkFSUkFZX0xFTihmZWF0dXJlcyktMSkpOwogICAgcmVzZXRfbG9hZGVkX2ZlYXR1cmVzX3Nu YXBzaG90KHZtKTsKfQpgYGAKCmByYl9wcm92aWRlX2ZlYXR1cmVgIGZpcnN0IGFwcGVuZCB0byBg JExPQURFRF9GRUFUVVJFU2AgYW5kIHRoZW4gcmVzZXRzIGB2bS0+bG9hZGVkX2ZlYXR1cmVzX3Nu YXBzaG90YCB0byBiZSBhIHNoYXJlZCBjb3B5IG9mIGAkTE9BREVEX0ZFQVRVUkVTYC4KCgoKCgot LSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCg==