Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:130912 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 B63C81A00BC for ; Sat, 16 May 2026 15:20:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1778944817; bh=0x8uBGazYacjMP2OOjjh0Rnk4eJa2By+U+lt8K1KXtI=; h=From:Date:Subject:To:From; b=haYVY+jYnxAeWd17MgJCV11AKRID/MpeC8mBnyl2H6vbz+Q/ZvTsgeP6bQNqoNYbG UBInVFCfCBA5vjc0jSxZ+vaTwdeZD+Vd+MU2ggJ8UA9egl1O1SL7vzQC2wugNDpr+5 SyXJYLPwvsjPeYVhZJiBnI0q5W1rZFDM3rZr8+/ehlldl7XpuImFvz7g3ZFrKb6YWN CBu7fujoKiloGnoRHqRF13dkM8HSR6wqGh5Tbq3RWclDrvQNz4ip8xQa0RGow0GWXq ZiERP+eydU/DXQSyfQAtgIswyrE1zUVscOdkchNXMku1QYVBpNd/PBx8R5hTVORRhO uIFM373/WgZuA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 6FD7218007E for ; Sat, 16 May 2026 15:20:16 +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=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, HTML_MESSAGE,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-f49.google.com (mail-ot1-f49.google.com [209.85.210.49]) (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 ; Sat, 16 May 2026 15:20:13 +0000 (UTC) Received: by mail-ot1-f49.google.com with SMTP id 46e09a7af769-7dd73b7c757so426572a34.0 for ; Sat, 16 May 2026 08:20:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1778944807; cv=none; d=google.com; s=arc-20240605; b=dM14o5g2H7t/gfH1zxW1C4+HPM6/7yxddgsVxO9IZag0lI7tLfn6WLr7N/1501QsBQ cWLHxVDbBdDGKXxraKxCh53xZXS4/3dIgjGajuOKB0Bzmi5vgTPJeexKWyV6UFQAJiNA DWzwaeg1yLzXxWRWJSfxgGvhqK/rCNzE6xtPUSqjMjfxQZX14apVL6EYG4sOHtslDjWg Jeg77EDijfm2rWrsDLsnKUKL0bRCub+Zo8yy6+PbAYDyEvcFdWAxdmF1uQCVe/lgI0m2 xbzd/pR7Ud/GWT8PYGlkPZUmAbMeijHaTXyo9J9n9YsqlEejr0WfuoZZT4DVtu5m6y8j di/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=0x8uBGazYacjMP2OOjjh0Rnk4eJa2By+U+lt8K1KXtI=; fh=PwvV1jWZOR90rDIG/6XexqaHJyAFBTdnFVhsS64qdEQ=; b=C8U+wsFKKEnKJpFJiWb+f0KvtByoNuLwnSo0XJyAfCnhiM88UUYy03lwfgsvaweQXH pEco5ybQ+BIt1FzrEWZHVw7rwuJXUtcIl8L3OzpBAf35eU6iEVokc+luOb2Vgcd7MR2C HeIYt8O0BfFnPL+rzc05AFD2+pMBfz8B7J2f7DN9qBf1KxtLqBesUQzftWd/Cjoa02tt dXJb++4b/2fSx+Mml0VjU0J5plbMf/gTuOadSvWW7YwKE1yvJmvwkY76y92HKIgn/zXU Ufajng11x+ks4SHo9RIACDsMfUZtNTQU7YCAhzrteY+3zH1ltzyNgqJfkH2FqsqvyNim qaNw==; darn=lists.php.net ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778944807; x=1779549607; darn=lists.php.net; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=0x8uBGazYacjMP2OOjjh0Rnk4eJa2By+U+lt8K1KXtI=; b=mFKs8oA3oZ8Sbo3cPn8Wcv95iiUnTYeBidRiVFdcCjROqG0UM7azj9FegfXRZUc0sq hklq1ohuFNNPkRTIviougXoB7BHFvoSJyC8L3l9/JU9dFN0gh4QzW36UxlVMrsXJeWjL qnU9DASqnG+sDWM3J8CsFgYfOo14STLJTvimrg3vuocVYvpalYYPY3CEf2Jep6KYYN0I 77ZG0qtpLUDA7rbS6kS85WAVRpSulOTiFAbHO2enhDGatIxfCpSdaOuQWqb6revRphZO 1c8l3eR0qbOtmU3sTYY2FQoBtb+QjxvL9guAoLWqBqRuyIv4yYiWGvfq+7mCPrtszVcP b8AA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778944807; x=1779549607; 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=0x8uBGazYacjMP2OOjjh0Rnk4eJa2By+U+lt8K1KXtI=; b=hJHovtTHEcVYd9pf6E6AXfwS1bUy51MEpiSOg5/gAj7NxuyPgS23lC1o466O8t0FCr MOe+QIdQRZO9ti4EPQNOhOBOAtzFLwYB1Xb9OuVuAp23dCfa9x4P/9++ti8J4KDBDBvP iTtVm+aTLr06OSWdxzlQdViFxNFUk45FaKisLPq2AzH/72yU7a10x3//wsedx350VNDb f6bmtn3jl/Fq5g/YuKRxDxIaktFQ/LPg0RRx/DsibFEWK0D3DMPOWM9E7HZLEaOUb/YE Dwrb0ernyfTexMcaauZmhqrW1eMKfI2jmUUz3nGsejWvqtrUQHGUx0ENJZZNzwaL6Co0 wWog== X-Gm-Message-State: AOJu0Yz1Ae96kCLvaCYofdnDt/cdulmaqLMVZy2eVB8q8vI4RXlur/m7 BeFwzv5EgnscpQYm0SsuMXh9bxq1u/ZkmwmzOOgzrdOgnhr/CNsIn5aobx2AJQBhLU/F7+mnNQF QFQQu7wY4sF19WPIdXjDyPj8CjLivIHmmrWNz X-Gm-Gg: Acq92OEM/ETsMPhrGoBGlrlKD7Aus72WMZACJmoRfR++PM8VWW9nCNVdS4wxsXWVtsG mAw102qC+1t65iv8A0UZ20kIzIIpWNVisHUjgIxv8xJhDF1hW1pKCz6xtxH9k+TDiSq+ALb8ArC 4jTK27gShVAHvzvEMouT5xLh/v260HPM/BjUOjEcYyLCYq3II2f2qDkM4BCoceVM17Y08k6vfJ/ P2QFXXpntJMVBAbNwTDdeGCWjFrzswVuKSWjT/rg/DJxpPi4WrK5jvZ9km5SjdrHmwbqmerczTo fYbiGzWxv9VrecUDV7MyGxVPIvlkHRnAaHwHJ1Mc X-Received: by 2002:a05:6830:390f:b0:7dc:dbe4:3f21 with SMTP id 46e09a7af769-7e4ea087ef7mr5332974a34.1.1778944807256; Sat, 16 May 2026 08:20:07 -0700 (PDT) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 Date: Sun, 17 May 2026 00:19:31 +0900 X-Gm-Features: AVHnY4KfCxqrK3mQcRb70Q52-uLcF_lyxzQ9bYkE9oHCmJ35iPUlSL90QtvFk9E Message-ID: Subject: [PHP-DEV] [RFC] [Discussion] OPcache Static Cache To: PHP internals Content-Type: multipart/alternative; boundary="0000000000004fc53b0651f0ddeb" From: zeriyoshi@gmail.com (Go Kudo) --0000000000004fc53b0651f0ddeb Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi internals, I'd like to start the discussion for a new RFC, OPcache Static Cache. RFC: https://wiki.php.net/rfc/opcache_static_cache Implementation: https://github.com/php/php-src/pull/22052 The proposal adds an OPcache-managed shared-memory cache for explicit userland values and for selected PHP static state. It introduces explicit functions under the OPcache namespace (volatile_* and persistent_*) and two attributes, #[OPcache\VolatileStatic] and #[OPcache\PersistentStatic], that let selected static properties and method static variables survive across requests. The feature is disabled by default and only activates once memory is allocated through the new INI directives. The RFC covers the motivation, the deliberate split between the two backends, the trust model (one PHP runtime =3D one trust domain; this is no= t a tenant isolation boundary), and benchmarks against APCu on NTS php-fpm and ZTS FrankenPHP. The PR is the full implementation, with PHPT coverage summarized in the Validation section. One thing to flag on the implementation status: the Windows build is currently broken. I don't have a Windows development environment available yet =E2=80=94 one is being arranged through work, and I'll get the Windows = side fixed once that's in place. Feedback welcome. Best Regards, Go Kudo --0000000000004fc53b0651f0ddeb Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi internals,

I'd like to star= t the discussion for a new RFC, OPcache Static Cache.

RFC: https://wiki.php.net/rfc= /opcache_static_cache
Implementation: https://github.com/php/php-src/pull/22052
The proposal adds an OPcache-managed shared-memory cache for explicit use= rland values and for selected PHP static state. It introduces explicit func= tions under the OPcache namespace (volatile_* and persistent_*) and two att= ributes, #[OPcache\VolatileStatic] and #[OPcache\PersistentStatic], that le= t selected static properties and method static variables survive across req= uests. The feature is disabled by default and only activates once memory is= allocated through the new INI directives.

The RFC covers the motiva= tion, the deliberate split between the two backends, the trust model (one P= HP runtime =3D one trust domain; this is not a tenant isolation boundary), = and benchmarks against APCu on NTS php-fpm and ZTS FrankenPHP. The PR is th= e full implementation, with PHPT coverage summarized in the Validation sect= ion.

One thing to flag on the implementation status: the Windows bui= ld is currently broken. I don't have a Windows development environment = available yet =E2=80=94 one is being arranged through work, and I'll ge= t the Windows side fixed once that's in place.

Feedback welcome.=

Best Regards,
Go Kudo
--0000000000004fc53b0651f0ddeb--