Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116126 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 41050 invoked from network); 22 Sep 2021 12:15:54 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 22 Sep 2021 12:15:54 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 521751804E1 for ; Wed, 22 Sep 2021 05:57:07 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 22 Sep 2021 05:57:06 -0700 (PDT) Received: by mail-pf1-f173.google.com with SMTP id m26so2655936pff.3 for ; Wed, 22 Sep 2021 05:57:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wikimedia.org; s=google; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=otfo+sf6f2uXyYl2/gCPo385yb+wUMgT3PnojQpvHPk=; b=f9GC7xqxCUhikabOUnSK0Q0IhThsfFuxMinHysPGSCTf94yffcK+L4i62BUGIaMVlA VEosds/aCLfgZ2wcmcv7wnRmme5GzlTptNEuB5jcJGQyQpj0W8hSWmuuPD9U1rodHWVy eSRd8/mKRDss/FmL24Y/gK+cKdV6T3sFOUWto= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=otfo+sf6f2uXyYl2/gCPo385yb+wUMgT3PnojQpvHPk=; b=5dsILO6J4o8mTjlgMxWU/fnGgq5Ky5dtFeJnYkCb4yxLKYtvvUyi9+ADhwKqXIc7Gd ZglOZp3uI5+y4wbLss+ive1WNlgRzXVEARJNb/Aj/CgS2ygBY3KwTQGWIQdUw05Gkq3D +BNSLV0jfAc0eUh7oS1a84VrLeIqyK3u/kCDU4PV8u0+Qao4L3YCIQORiliKkmcAtURy W4tfjGI/04VDGA+x0sTGvxYhCG+VrUJZp1quDtLNEkYFW7g172Xh+8Xiawhke8lAtL2L GBjtdIzI0cj1PtjjnRjVJM7C/TIrQvXTC4F77CJzVoqo9KcCYN15PWABTPwtZBxM+qKF XezQ== X-Gm-Message-State: AOAM5322lkgeGh8xBKcOXzif+sLX4bAZozxF6XVYQz4cIoXe3opDa7iS tNJVPowc5B1+u5qxRWzwCtqf0Bcfyz7zHQ== X-Google-Smtp-Source: ABdhPJysSJ8+ApGZ693sBWzEV/R1v3C4omq+WHZ4QaErYFr5vwO4zvPqxj0fBYIWS20erdYhZLeo9w== X-Received: by 2002:a62:8643:0:b0:440:3b35:6667 with SMTP id x64-20020a628643000000b004403b356667mr35565786pfd.54.1632315425467; Wed, 22 Sep 2021 05:57:05 -0700 (PDT) Received: from [10.1.1.45] (124-168-141-168.dyn.iinet.net.au. [124.168.141.168]) by smtp.gmail.com with ESMTPSA id v7sm2438256pff.195.2021.09.22.05.57.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 22 Sep 2021 05:57:04 -0700 (PDT) To: tyson andre , "internals@lists.php.net" References: Message-ID: <2e2512c8-8e3d-6e9e-ff3f-278801c0c4df@wikimedia.org> Date: Wed, 22 Sep 2021 22:57:01 +1000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Make strtolower/strtoupper just do ASCII From: tstarling@wikimedia.org (Tim Starling) On 19/9/21 12:33 am, tyson andre wrote: > When implementing this, Zend/Optimizer/sccp.c has optimizations for functions such as str_contains, etc to optimize. > After removing locale dependence, those optimizations could be safely added for functions that would be locale independent as a result of your change. > - This would allow eliminating more dead code, and make code calling those functions (on constant arguments) faster by caching the resulting strings in opcache. Thanks, I will do that. > The function `zend_string_tolower` can safely be used to efficiently convert strings to lowercase in a case-insensitive way. > (zend_string_toupper hasn't been needed yet due to not yet having any use cases in php-src's internals, but could be added in such a PR) I uploaded my work so far and made a PR. It already has zend_string_toupper. -- Tim Starling