About

关于 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%。

300-500x 性能提升 16B 对象头 3 编译器 / 4 平台 MIT License

设计原则

AOT 类型固定

变量类型在首次赋值时确定,之后不可变。===== 等价 —— 编译期已知类型,零运行时类型检查。

零运行时

无 Zend VM、无 OPCache、无解释器。生成纯 C 代码,由系统编译器产出独立二进制,目标机器无需任何 PHP 运行时。

COS 风格对象系统

对象头仅 16 字节(比 PHP ~80B 精简 5 倍),struct 嵌套继承零开销,VTable 直接函数指针调用,作用域结束自动 __destruct

Thread-Local 运行时

每线程独立 str_pool/arr_pool/obj_pool,无锁竞争。基于 tinycthread 跨平台线程库,提供 OOP 风格 Thread/Mutex/CondVar/WaitGroup API。

项目路线图

2026 · 进行中
持续优化与生态拓展 Roadmap
更多内置扩展、文档完善、Benchmark 体系化,探索 GCC/Clang LTO 与 PGO 集成。
2025 Q3
全平台 PHAR + 312+ 内置函数 Release
GitHub Actions 自动构建 Windows/Linux/macOS 单文件 PHAR,内置函数覆盖 PHP 标准库核心子集。
2025 Q1 — Q2
PHPC 互操作 + 扩展系统 Feature
完整的 PHP ↔ C 双向互操作(C->func()、C.Type 注解、defer 资源管理),#import 扩展白名单机制上线。
2024 Q4
COS 对象系统 + 多线程 Core
16B 对象头 COS 风格对象系统落地,基于 tinycthread 的 Thread/Mutex/CondVar/WaitGroup OOP API。
2024 Q3
项目启动 · Hello World Origin
PHP Lexer 原型完成,Parser + CodeGenerator 打通,第一个 PHP 代码成功编译为原生二进制。

性能亮点

数组遍历/读取

18-36x PHP,方法调用近乎 0ns

OOP 创建/写入

SSO + 对象池使 new+unset 反超 2.1x

字符串拼接

ROPE 多片段展平,concat-4 快 6 倍

编译器差距

GCC/Clang -O2 比 TCC 再快 3-10x

三编译器 · 四平台

编译器后端

TCC(默认内置) GCC Clang

TCC 提供最快编译速度作为默认后端,GCC/Clang 在 -O2 优化下可再获 3-10 倍性能提升。

目标平台

Windows x86_64 Linux x86_64 Linux aarch64 macOS aarch64

覆盖主流桌面/服务器架构,由 GitHub Actions 自动构建全平台单文件 PHAR。