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)