变量类型在首次赋值时确定,之后不可变。=== 与 == 等价 —— 编译期已知类型,零运行时类型检查。
关于 TinyPHP
PHP → C AOT 编译器,用 PHP 语法写原生二进制。
TinyPHP
PHP → C AOT 编译器
TinyPHP 不是 PHP 解释器或运行时替代品。它把 PHP 代码(强类型子集)编译成安全的 C,再由 GCC/Clang/TCC 编译为原生可执行文件。没有 Zend VM、没有 OPCache、不需要 PHP 环境。
用 PHP 语法写原生二进制,零运行时依赖,性能提升 300-500 倍。基于 PHP 8.5 强类型语法,兼容度约 80%。
设计原则
无 Zend VM、无 OPCache、无解释器。生成纯 C 代码,由系统编译器产出独立二进制,目标机器无需任何 PHP 运行时。
对象头仅 16 字节(比 PHP ~80B 精简 5 倍),struct 嵌套继承零开销,VTable 直接函数指针调用,作用域结束自动 __destruct。
每线程独立 str_pool/arr_pool/obj_pool,无锁竞争。基于 tinycthread 跨平台线程库,提供 OOP 风格 Thread/Mutex/CondVar/WaitGroup API。
项目路线图
性能亮点
数组遍历/读取
18-36x PHP,方法调用近乎 0ns
OOP 创建/写入
SSO + 对象池使 new+unset 反超 2.1x
字符串拼接
ROPE 多片段展平,concat-4 快 6 倍
编译器差距
GCC/Clang -O2 比 TCC 再快 3-10x
三编译器 · 四平台
编译器后端
TCC 提供最快编译速度作为默认后端,GCC/Clang 在 -O2 优化下可再获 3-10 倍性能提升。
目标平台
覆盖主流桌面/服务器架构,由 GitHub Actions 自动构建全平台单文件 PHAR。
贡献与许可
欢迎提交 Issue 和 Pull Request 来帮助改进 TinyPHP!
