Mozilla:Emscripten可将LLVM中间码转JavaScript

Emscripten是Mozilla的开发人员Alon Zakai所开发的一个独特LLVM后端,可以将LLVM中间码编译成JavaScript,大大简化了现有代码在Web时代的重用。

和Google Chrome尝试通过自有的Native Client在Web中利用现有C/C++库的方式不同,Mozilla寻求了一条普适性更强的解决方案。

Emscripten并非通常的LLVM后端,本身使用JavaScript写成。它可以将任何通过LLVM 前端(比如 C/C++ Clang)生成的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物理引擎演示


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值