30 条回复  ·  3326 次点击
kakki 初学 2025-9-19 15:34:21
用 php 不就图省事么,直接 ftp 传上去就行,常驻内存还真不如用 go
Yanlongli 小成 2025-9-19 15:34:59
额,是不是将整个 php 环境打包、然后将代码打包、再将浏览器打包、然后 润
liqinliqin 楼主 小成 2025-9-19 15:35:52
实际上现在搞的 AOT 实现,是可降级的,是函数级别的,会把一部分 PHP 函数给转成 C++ 函数,遇到混杂 PHP 和 HTML 的模版文件,或者不支持的语法,就还是走 opcode 了,和 swoole compiler 这个是一起运行的
back0893 初学 2025-9-19 15:38:31
有点鸡肋 不如原来 php ,可以直接修改代码 打包不如换语言 容器化不好么?
hronro 小成 2025-9-19 15:50:10
按我的理解,JS/PHP/Python/Ruby 这类动态语言,必须要依赖 JIT 才能有可以看的性能,不然性能上就要慢 2 个数量级。要搞 AOT ,除非能支持 PBO ,不然性能能看么?
xgdgsc 小成 2025-9-19 15:54:33
@hronro https://discourse.julialang.org/t/syslabcc-suzhou-tongyuans-proprietary-julia-aot-compiler-is-now-available-for-free-use-personal-educational-license-only/114633?u=xgdgsc julia 了解下,这个是国内的,官方的也在搞,性能可以
hronro 小成 2025-9-19 16:49:59
@xgdgsc 谢谢补充。但 Julia 还是和 PHP 这种古早的动态语言不太一样吧,没有可比性。
CodeCodeStudy 小成 2025-9-19 16:53:57
Java 的 GraalVM 的 native-image ,还是需要通过 java -agentlib:native-image-agent=config-merge-dir=/path/to/config-dir/将所有的代码跑一遍,收集运行中的反射、序列化、动态代理、资源等信息,然后再进行 native-image 的 AOT 编译。好奇 PHP 是怎么处理动态特性的?
CodeCodeStudy 小成 2025-9-19 17:12:41
public class Main { public static void main(String[] args) { try { String className = "java.util.Collections"; Class cl = Class.forName(className); System.out.println(cl.getName()); } catch (Exception e) { e.printStackTrace(); } try { long time = System.currentTimeMillis() / 1000L; String className = time % 2 == 0 ? "java.util.Base64" : "java.util.Timer"; Class cl = Class.forName(className); System.out.println(cl.getName()); } catch (Exception e) { e.printStackTrace(); } } } javac Main.java && native-image Main && ./main 输出 java.util.Collections java.lang.ClassNotFoundException: java.util.Base64 或者 java.util.Collections java.lang.ClassNotFoundException: java.util.Timer 需要用到 java -agentlib:native-image-agent=config-merge-dir=./src/main/resources/META-INF/native-image Main 将动态特性收集起来,这里的 java 是指 GraalVM 的 jdk ,然后再 native-image 编译 https://www.graalvm.org/latest/reference-manual/native-image/guides/use-reachability-metadata-repository-maven/ https://www.graalvm.org/latest/reference-manual/native-image/metadata/AutomaticMetadataCollection/
phreej2voo 小成 2025-9-19 17:12:47
编译打包功能嘿,webman 框架早就支持了!!!
返回顶部