From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 13A0C3858403 for ; Wed, 15 Sep 2021 19:45:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 13A0C3858403 Received: from mail-vs1-f72.google.com (mail-vs1-f72.google.com [209.85.217.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-121--DtfeKvlMuKeYf5yH0AxQg-1; Wed, 15 Sep 2021 15:45:11 -0400 X-MC-Unique: -DtfeKvlMuKeYf5yH0AxQg-1 Received: by mail-vs1-f72.google.com with SMTP id o4-20020a67e144000000b002c7e522fac2so1082178vsl.21 for ; Wed, 15 Sep 2021 12:45:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=AUONkwxTbcQcMUb5bjCHgIQUQS8EMRW1HoGfx3288QU=; b=Ob6q7e74jKDzTmYhZ1lF4OxqutlqdJVJTtQIZnF2c6CForQdw4oWedCDhDX0wCZvnp Re0XBA+F5pgV6h2WJuHOWqm4liK4154exvhG3/rsxwiNuM2S3RvU8KZxQuk+L9WQnUaA N29NKPDRAU4/YKW5FahQM2J+KZ8UazyZLBppn6PuRZCOEHf7rjSuxTIQAeN+UeXGbCwR D5n5GsdbMOfinL4ABB3gsw1x9/PtSQknn6A2NL1HLuNndanGws15wkIE8LCyStKqBtq4 zD11ixb7K2oJvckkgEWylYF8ykweK7Z2Unhapat3dCT/nzhCD6G9nUdqXfT2attbHfK+ kycQ== X-Gm-Message-State: AOAM530T03GaytTwaj8wP/n/FbNNzQtqdwAGUc/yh5DlLfiUFMXQ2pdp s/tYKE8F0ckc1KbZzTArOI4IQom/wshA3XWZb7UPjo/6ZPSuOP0pXPu71m20qyVrnfNfM0XcwGB WuaMEMt53owFZXiSzmkx/c/17VVmv8zdxlw== X-Received: by 2002:a67:ecd1:: with SMTP id i17mr1893159vsp.18.1631735110625; Wed, 15 Sep 2021 12:45:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwDDzLFn4dDsPLOanpeYPfNZ1moH/GAMukr+Kp6iTqgOpiP+Oyz5OUf48DK4HT6Gn9WZfNu9qwDoUhct4gdiQE= X-Received: by 2002:a67:ecd1:: with SMTP id i17mr1893147vsp.18.1631735110372; Wed, 15 Sep 2021 12:45:10 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jonathan Wakely Date: Wed, 15 Sep 2021 20:44:57 +0100 Message-ID: Subject: Re: [External] Re: [PATCH] libstdc++: Optimize 'to_string' with numeric_limits instead of __to_chars_len To: =?UTF-8?B?5YiY5Y+v?= Cc: "libstdc++@gcc.gnu.org" , gcc Patches X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="0000000000009f76e605cc0defb3" X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=unavailable autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Sep 2021 19:45:16 -0000 --0000000000009f76e605cc0defb3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable N.B. Please CC *both* the libstdc++ list and the gcc-patches list, as per https://gcc.gnu.org/lists.html On Wed, 15 Sept 2021 at 14:02, =E5=88=98=E5=8F=AF wrote: > > Thank you for your review, and I apologize for my mistake. I have updated= and tested it=EF=BC=81 Hmm, it doesn't work though. How did you test it? For to_string(int) the string will be padded with '-' characters, i.e. std::to_string(1) returns "1---------" and to_string(-1) returns "-1---------" and to_string(100) returns "1--------00" ! --0000000000009f76e605cc0defb3 Content-Type: text/plain; charset="US-ASCII"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ktlm91e40 ZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLmggYi9s aWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL2Jhc2ljX3N0cmluZy5oCmluZGV4IGI2MWZlMDVlZmNm Li5lMWZkNDJhZWExYSAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL2luY2x1ZGUvYml0cy9iYXNp Y19zdHJpbmcuaAorKysgYi9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL2Jhc2ljX3N0cmluZy5o CkBAIC0zNzE2LDQxICszNzE2LDgyIEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9DWFgxMQog CiAgIC8vIERSIDEyNjEuIEluc3VmZmljZW50IG92ZXJsb2FkcyBmb3IgdG9fc3RyaW5nIC8gdG9f d3N0cmluZwogCisgIG5hbWVzcGFjZSBfX2RldGFpbAorICB7CisgICAgdGVtcGxhdGU8dHlwZW5h bWUgX1RwPgorICAgICAgaW5saW5lIHVuc2lnbmVkCisgICAgICBfX3RvX3N0cmluZ19sZW4oX1Rw IF9fdmFsKSBub2V4Y2VwdAorICAgICAgeworI2lmIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkKKwkv LyBBbnkgMzItYml0IGludGVnZXIgdmFsdWUgZml0cyBpbiB0aGUgMTUtYnl0ZSBTU08gYnVmZmVy LAorCS8vIHNvIGRvbid0IGJvdGhlciBjb3VudGluZyBob3cgbWFueSBjaGFycyBhcmUgbmVlZGVk LgorCWlmIF9HTElCQ1hYMTdfQ09OU1RFWFBSIChzaXplb2YoX1RwKSAqIF9fQ0hBUl9CSVRfICA8 PSAzMikKKwkgIHJldHVybiA5OyAvLyBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6ZGln aXRzMTAKKwllbHNlCisjZW5kaWYKKwlyZXR1cm4gX19kZXRhaWw6Ol9fdG9fY2hhcnNfbGVuKF9f dXZhbCk7CisgICAgICB9CisKKyAgICBpbmxpbmUgdm9pZAorICAgIF9fdG9fc3RyaW5nX3RyaW0o c3RyaW5nJiBfX3MpIG5vZXhjZXB0CisgICAgeworI2lmIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkK KyAgICAgID8/PworI2VuZGlmCisgICAgfQorICB9CisKICAgaW5saW5lIHN0cmluZwogICB0b19z dHJpbmcoaW50IF9fdmFsKQorI2lmIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkKKyAgbm9leGNlcHQK KyNlbmRpZgogICB7CiAgICAgY29uc3QgYm9vbCBfX25lZyA9IF9fdmFsIDwgMDsKICAgICBjb25z dCB1bnNpZ25lZCBfX3V2YWwgPSBfX25lZyA/ICh1bnNpZ25lZCl+X192YWwgKyAxdSA6IF9fdmFs OwotICAgIGNvbnN0IGF1dG8gX19sZW4gPSBfX2RldGFpbDo6X190b19jaGFyc19sZW4oX191dmFs KTsKKyAgICBjb25zdCBhdXRvIF9fbGVuID0gX19kZXRhaWw6Ol9fdG9fc3RyaW5nX2xlbihfX3V2 YWwpOwogICAgIHN0cmluZyBfX3N0cihfX25lZyArIF9fbGVuLCAnLScpOwogICAgIF9fZGV0YWls OjpfX3RvX2NoYXJzXzEwX2ltcGwoJl9fc3RyW19fbmVnXSwgX19sZW4sIF9fdXZhbCk7CisgICAg X19kZXRhaWw6Ol9fdG9fc3RyaW5nX3RyaW0oX19zdHIpOwogICAgIHJldHVybiBfX3N0cjsKICAg fQogCiAgIGlubGluZSBzdHJpbmcKICAgdG9fc3RyaW5nKHVuc2lnbmVkIF9fdmFsKQorI2lmIF9H TElCQ1hYX1VTRV9DWFgxMV9BQkkKKyAgbm9leGNlcHQKKyNlbmRpZgogICB7Ci0gICAgc3RyaW5n IF9fc3RyKF9fZGV0YWlsOjpfX3RvX2NoYXJzX2xlbihfX3ZhbCksICdcMCcpOworICAgIHN0cmlu ZyBfX3N0cihfX2RldGFpbDo6X190b19zdHJpbmdfbGVuKF9fdmFsKSwgJ1wwJyk7CiAgICAgX19k ZXRhaWw6Ol9fdG9fY2hhcnNfMTBfaW1wbCgmX19zdHJbMF0sIF9fc3RyLnNpemUoKSwgX192YWwp OworICAgIF9fZGV0YWlsOjpfX3RvX3N0cmluZ190cmltKF9fc3RyKTsKICAgICByZXR1cm4gX19z dHI7CiAgIH0KIAogICBpbmxpbmUgc3RyaW5nCiAgIHRvX3N0cmluZyhsb25nIF9fdmFsKQorI2lm IF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkgJiYgX19TSVpFT0ZfTE9OR19fID09IF9fU0laRU9GX0lO VF9fCisgIG5vZXhjZXB0CisjZW5kaWYKICAgewogICAgIGNvbnN0IGJvb2wgX19uZWcgPSBfX3Zh bCA8IDA7CiAgICAgY29uc3QgdW5zaWduZWQgbG9uZyBfX3V2YWwgPSBfX25lZyA/ICh1bnNpZ25l ZCBsb25nKX5fX3ZhbCArIDF1bCA6IF9fdmFsOwotICAgIGNvbnN0IGF1dG8gX19sZW4gPSBfX2Rl dGFpbDo6X190b19jaGFyc19sZW4oX191dmFsKTsKKyAgICBjb25zdCBhdXRvIF9fbGVuID0gX19k ZXRhaWw6Ol9fdG9fc3RyaW5nX2xlbihfX3V2YWwpOwogICAgIHN0cmluZyBfX3N0cihfX25lZyAr IF9fbGVuLCAnLScpOwogICAgIF9fZGV0YWlsOjpfX3RvX2NoYXJzXzEwX2ltcGwoJl9fc3RyW19f bmVnXSwgX19sZW4sIF9fdXZhbCk7CisgICAgX19kZXRhaWw6Ol9fdG9fc3RyaW5nX3RyaW0oX19z dHIpOwogICAgIHJldHVybiBfX3N0cjsKICAgfQogCiAgIGlubGluZSBzdHJpbmcKICAgdG9fc3Ry aW5nKHVuc2lnbmVkIGxvbmcgX192YWwpCisjaWYgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSAmJiBf X1NJWkVPRl9MT05HX18gPT0gX19TSVpFT0ZfSU5UX18KKyAgbm9leGNlcHQKKyNlbmRpZgogICB7 Ci0gICAgc3RyaW5nIF9fc3RyKF9fZGV0YWlsOjpfX3RvX2NoYXJzX2xlbihfX3ZhbCksICdcMCcp OworICAgIHN0cmluZyBfX3N0cihfX2RldGFpbDo6X190b19zdHJpbmdfbGVuKF9fdmFsKSwgJ1ww Jyk7CiAgICAgX19kZXRhaWw6Ol9fdG9fY2hhcnNfMTBfaW1wbCgmX19zdHJbMF0sIF9fc3RyLnNp emUoKSwgX192YWwpOworICAgIF9fZGV0YWlsOjpfX3RvX3N0cmluZ190cmltKF9fc3RyKTsKICAg ICByZXR1cm4gX19zdHI7CiAgIH0KIAo= --0000000000009f76e605cc0defb3--