Porffor

主要观点:Porffor 是一个将 JavaScript 提前编译为 WebAssembly 和原生二进制文件的编译器,目前处于预 Alpha 阶段,2025 年开始具备可用性。
关键信息

  • 相比现有 JS -> Wasm 项目,Porffor 的 WebAssembly 输出更小且更快,能解决 JS 作为 Wasm 执行时性能损失的问题,可实现高效、安全的服务器端 JS 托管等。
  • 编译为原生代码时,二进制大小比现有解决方案小 1000 倍,能实现快速的嵌入式 JS 等应用。
  • Porffor 有安全编译(用 JS 编写防止内存安全漏洞且无 eval)、从头编写(考虑提前编译可实现以前不可能的优化)、原生支持 TypeScript 等特点。
  • 编译时(开发者机器)和运行时(用户机器)的不同方式,如传统嵌入式编译器、Porffor(AOT 编译器)、各种运行时(如解释器、JIT 等)的流程对比,AOT 编译可先编译后运行,虽有 runtime JS 执行不可行等缺点但可进行静态分析优化。
  • 每次提交都会用 Test262 进行测试以跟踪合规性进展,可在线或本地试用(npm i -g porffor@latest && porf)。
    重要细节
  • WebAssembly 输出比现有项目小 10 - 30 倍,在边缘运行时可实现安全执行且性能损失小。
  • 编译为原生代码时,二进制大小从约 90MB 降至 <100KB,可在任何可用 C 的地方使用 JS。
  • 编译时流程中 Porffor 直接将 JavaScript 编译为二进制(Wasm 或原生),运行时与各种运行时方式对比展示了其优势和特点。
阅读 24
0 条评论