Client在Web中利用现有C/C++库的方式不同

Emscripten是Mozilla的开发人员Alon
Zakai所开发的一个独特LLVM后端,可以将LLVM中间码编译成JavaScript,大大简化了现有代码在
Web时代的重用。和Google Chrome尝试通过自有的Native
Client在Web中利用现有C/C++库的方式不同,Mozilla寻求了一条普适性更强的解决方案。Emscripten并非通常的LLVM后端,本身使用JavaScript写成。它可以将任何通过LLVM
前端生成的LLVMIR中间码编译成JavaScript
澳门金莎网址,,从而显著降低移植现有代码库到Web环境的损耗。目前Emscripten已经比较成熟,准备发布2.0版本。很多大型的项目已经可以使用Emscripten转换为JavaScript了,比如Python、Ruby、Lua和Doom。根据今年5月份的演示中用Firefox的测试结果显示,通过Emscripten
1.0得出的JavaScript在未经优化的情况,在不同的测试中比gcc
-O3的原始C/C++代码约慢了0.89到3.75
倍左右。Alon表示在使用了类型推测等优化后性能会有进一步提升。Alon
Zakai在LLVM邮件列表中关于Emscripten的说明。这里有一个使用Emscripten转换后的Bullet/WebGL物理引擎演示。Emscription
Github首页Via Phoronix

相关文章