Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129287 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id CA0A01A00BC for ; Tue, 18 Nov 2025 07:37:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1763451448; bh=PXcNdv1WEm/+7Sz5wk+h3WfAIj+vkXYVIMKf0W9s5gM=; h=From:Date:Subject:To:From; b=kyx88gL83OICKgTpUAjHR0tEKmw3sh8BVaubwGAt+SgTixLjnxLEjKxTwvDHukXzk ZVagmvltdkEJ9/OBQbVRT4lXP0h9BiNo8KX93LbkXkr6x1JqielCZ3veoKzCBG/BAL OC7JW3jkv9dKPS1ufiJ0PQSB7TqRg8/LeQ9Fj0IWY5Yqn/MSaIgZcjoPwPl9q8M53e NP1seKDNbjW+E+iD1TZzLxzRuZ2izzZock8kuntWpDA+Mt1otjRnPk3KDpQc3ltVzj yfnCDDEAFUKyOIRyVKqGCjyQFu2JUR/VerhAaLCLCAkI2su1w2JiaSHcFRTyh5Xo1Y 9bxooSsPHCMYw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 90BFF180081 for ; Tue, 18 Nov 2025 07:37:27 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: * X-Spam-Status: No, score=1.8 required=5.0 tests=BAYES_50,DMARC_NONE, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-ot1-f52.google.com (mail-ot1-f52.google.com [209.85.210.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 18 Nov 2025 07:37:24 +0000 (UTC) Received: by mail-ot1-f52.google.com with SMTP id 46e09a7af769-7c75a5cb752so1420949a34.2 for ; Mon, 17 Nov 2025 23:37:19 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763451438; x=1764056238; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=BLBj4iRVdQmTfSKasxYyZafCX7UAmqzZYWOmly5DoBI=; b=FXWwRZ9S5cmQs4OdMxpFB8m4itFhPDMdzt/XEQz8OC2ir7DbII3MOwzqjyEl5FXBQB VXBlq8rfMg9fJs3e31VS7sC94gFq979n8ZKsx2Amt7JcF1+F60rpISGyKEvDNM7DwsNV 7FvwocfvWJQEWp9NRe+nBRy082E7CCF3q0fzQR7pQdr1etartQmvKv4MDb2zH1TRKhVj 1uwbl9cBvULR2ok12zOJGLdETSixuVI5W84mXleMIB0iNUtO4kX56jjkuIIjPhZQh7gz UjOt3/2Eq0iGKswMjsJKktCNZ4OvtGyCAA737hR2xEwgBgtZ2pNJyFNB9UURYNGqomE7 NBjw== X-Gm-Message-State: AOJu0YwdEeL9nH0EvDTc+R7FXakrWfGWRUYR7GQpelPGHcIEWpTscS/L LZaNykYs8GXrDjLiJvnhnyo3c2vlvCuBNpLBIUn0PT+vMKOOLxj3koUj22ppk2O/cOUi5yQ/MtR rtvdE50j/9v0CBxMAHgfj6/fqf9300mh9DN+M X-Gm-Gg: ASbGncv58u4l/4ODb7CZzLqKq/iYM2c4iRMrxc7PNik/9f81CTOIttz/u7Pk3jAXhAM kjbfwjKI5+1PHhq614EBimf7D42qe/0JMEVxDjiARodxQNjlxWAvDMy/XBuWRTXNNubkp/+Iy/F cA4LSGU3OkLiFF5DgFVDaVAh6u2UZx6JQHdDE7KODn31Qf0uq7/vghxnympWzzBj0uLn/HHub1t Uby+QxZ4UmMTNDEJ/2/ZiPsTyiQhFFcH1Fb1CYPBp+WxmNLEpaStdYkv60cGT6o6Q0f9m78XZRq oWd5 X-Google-Smtp-Source: AGHT+IEQBrO49qMJ8AhH+CKNbybFOpg6055aUT+LAUbHK8JcUTIZze3K9cVeS8I8PGAmB+/HW0cIIgrnSVQ5um5HWCg= X-Received: by 2002:a05:6808:178c:b0:44f:e931:38cb with SMTP id 5614622812f47-4509757e128mr6920052b6e.42.1763451438301; Mon, 17 Nov 2025 23:37:18 -0800 (PST) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 Date: Tue, 18 Nov 2025 08:37:07 +0100 X-Gm-Features: AWmQ_bkT7xLAhwz2XIgzerjmA19kJPtXwfdutnYEpxXQHlMAFwe_vBbQZ58ul5s Message-ID: Subject: [PHP-DEV] crc-fast support for ext/hash To: PHP Internals Content-Type: text/plain; charset="UTF-8" From: mike@php.net (Michael Wallner) Hi! We've been developing a versatile and fast crc library in Rust [1] and would like to integrate it into PHP upstream [2]. Concerns were raised that the PR at least needs a discussion here or even an RFC, so here we are! Note, that it's not about bundling a library, but optional support through `--with-crc-fast`. Following is the gist of the library's README: > World's fastest generic CRC calculator for all known CRC-32 > and CRC-64 variants, as well as bring-your-own custom > parameters, using SIMD intrinsics, which can exceed > 100GiB/s on modern systems. > > Supports acceleration on aarch64, x86_64, and x86 > architectures, plus has a safe non-accelerated table-based > software fallback for others. > > The crc crate is ~0.5GiB/s by default, so this is up to >220X faster. > > This is unique, not just because of the performance, but also > because I couldn't find a single generic SIMD-accelerated > implementation (in any language) which worked for all > known variants, using the Rocksoft model, especially the > "non-reflected" variants. Thanks for your time and consideration! [1] https://github.com/awesomized/crc-fast-rust?tab=readme-ov-file#crc-fast [2] https://github.com/php/php-src/pull/20513 -- Regards, Mike