You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Volodymyr Panivko (Jira)" <ji...@apache.org> on 2026/05/12 16:25:00 UTC

[jira] [Created] (THRIFT-5984) Cache function_exists() capability checks in PHP runtime hot paths

Volodymyr Panivko created THRIFT-5984:
-----------------------------------------

             Summary: Cache function_exists() capability checks in PHP runtime hot paths
                 Key: THRIFT-5984
                 URL: https://issues.apache.org/jira/browse/THRIFT-5984
             Project: Thrift
          Issue Type: Improvement
          Components: PHP - Library
            Reporter: Volodymyr Panivko


In `lib/php/lib/Serializer/TBinarySerializer.php` and `lib/php/lib/Transport/TSocket.php` the runtime calls `function_exists()` on every serialize / deserialize / open() — checking for the same C-extension and socket functions whose presence is a static property of the PHP installation.

Memoize these checks via `private static ?bool` flags initialized with the null-coalescing assignment operator (`??=`). One-time lookup per process, identical behavior.

Follow-up to THRIFT-5981 / THRIFT-5983 under the umbrella THRIFT-5960 (PHP modernization).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)