首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >TypePHP 来了!PHP 正式杀入 Java/Go 核心赛道

TypePHP 来了!PHP 正式杀入 Java/Go 核心赛道

作者头像
Tinywan
发布2026-07-22 19:16:10
发布2026-07-22 19:16:10
800
举报
文章被收录于专栏:开源技术小栈开源技术小栈

概述

TypePHP 编译器是 Swoole 推出的原生编译工具,将 PHP 源码翻译为 C++ 代码后再编译为原生机器码,在完整保留 PHP 开发效率与语法体验的前提下,彻底消除解释执行开销,将 PHP 带入原生性能区间。

核心特性

1. 真原生二进制输出

并非字节码/中间码方案,PHP 源码完整翻译为 C++ 后,经由 GCC/Clang/MSVC 编译为纯原生机器码,程序启动直接执行,无解释器、虚拟机 overhead。

2. 极致计算性能

通过 use native_types 语法启用原生 int/float/bool 类型,彻底消除 zval 结构体开销;密集计算场景官方标称最高 150 倍性能提升。

3. 内置高精度数学能力

原生支持三种高精度类型,直接覆盖金融、科学计算等专业场景:

  • BigInt:任意精度整数
  • Decimal:高精度小数
  • BigFloat:任意精度浮点数

4. 零开销 C++ 互操作

支持直接内联 C++ 代码,无需 FFI 即可调用各类 C/C++ 库,PHP 与 C++ 类型自动映射、无缝互通。

5. 全平台跨端兼容

同一套 PHP 源码,可编译为三大主流平台的原生可执行文件:

  • Linux:ELF 格式
  • macOS:Mach-O 格式
  • Windows:PE 格式

6. 编译期类型安全

编译阶段即可完成类型错误、未定义函数、参数数量不匹配等问题的检测,提前拦截异常,避免运行时崩溃。

编译流程

完整编译链路:PHP 源码 → C++ 代码 → 目标文件(Object File) → 原生二进制

代码示例对比

原始 PHP 源码(fib.php)
代码语言:javascript
复制
declare(strict_types=1);
use native_types;

function fib(int $n): int{
    if ($n <= 1) return $n;
    return fib($n - 1) + fib($n - 2);
}

function main(): void{
    echo fib(40);
}
编译生成的 C++ 代码(fib.cc)
代码语言:javascript
复制
#include <phpx.h>
#include <phpx_helper.h>

php::Int fib(php::Int n){
    if (n <= 1) return n;
    return fib(n - 1) + fib(n - 2);
}

void main(){
    php::echo(fib(40));
}

官方性能基准测试

测试环境:PHP 8.4 ZendVM 对比 AOT 编译器(-O3 优化等级)

测试场景

PHP 8.4 (ZendVM)

AOT 编译器 (-O3)

性能提升

fib(40) 斐波那契递归

14.82s

0.11s

~135 倍

PI 值计算(1亿次迭代)

6.52s

0.094s

~69 倍

快速使用步骤

1. 安装 PHPX 扩展

代码语言:javascript
复制
cd vendor/swoole/phpx && cmake . && make -j$(nproc)

2. 编译 PHP 源码为原生二进制

代码语言:javascript
复制
# -O2 指定优化等级,-o 指定输出文件名
./swoole_compiler hello.php -O2 -o hello

3. 运行生成的可执行文件

代码语言:javascript
复制
./hello

官方文档:https://swoole.com/aot[1]

参考链接
  1. https://swoole.com/aot: https://swoole.com/aot
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 核心特性
    • 1. 真原生二进制输出
    • 2. 极致计算性能
    • 3. 内置高精度数学能力
    • 4. 零开销 C++ 互操作
    • 5. 全平台跨端兼容
    • 6. 编译期类型安全
  • 编译流程
    • 代码示例对比
      • 原始 PHP 源码(fib.php)
      • 编译生成的 C++ 代码(fib.cc)
  • 官方性能基准测试
  • 快速使用步骤
    • 1. 安装 PHPX 扩展
    • 2. 编译 PHP 源码为原生二进制
    • 3. 运行生成的可执行文件
      • 参考链接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档