Cheerp C ++转JavaScript 2016年Hackaday奖 研究人员越狱当前的iOS 7.1.2 新的Amazon Elasticsearch Service NSA Codebreaker挑战赛3.0 复古游戏AI竞赛 Mozilla隐私研究证明跟踪保护 虚拟现实解剖 适用于AWS Glue的Amazon Open Sources Python库 Firefox 60支持WebAuthn 蚱hopper-教编码的120区应用 Windows 95启用25 圣诞老人在哪里?他什么时候到达? 特朗普要求6G,但我们什至不知道它是什么 PeerJ-开放存取同行评审计算机科学 Eclipse IoT开发人员调查2019 TJBot-在Watson中使用Raspberry Pi NVIDIA推动实时光线追踪 水,水,无处不在,全部由计算机生成 Facebook发起DeepFake检测挑战 Apache Kylin获得表级ACL管理 DataGrip改进了架构管理 实体框架核心2发布有缺点 调用图形开发人员-帮助名称下一代Open GL Javalin 2.0发布 Gary Kildall回忆录可供下载 两种声音的编程语言的历史 FoundationDB增加了多区域支持 伊万·萨瑟兰(Ivan Sutherland)赢得知识前沿奖 太阳剧团(Cirque du Soleil)通过Chrome实验开创了新局面 Google 20年 完整的HTML5.0定义已发布 Amazon DynamoDB Accelerator到达预览 项目提花产品实现 Mozilla Things网关 Google AIY纸板和Raspberry Pi AI Mozilla Web超越实验的东西 惠普档案馆被毁 Google推出Firestore Google Area 120发布了Game Builder FSF推出无DRM徽标 物联网开发人员积累经验 MongoDB更新图表工具 OpenJDK计划私有漏洞小组 集成EDSAC Java 12与开关表达式一起发布 Mycroft在Raspberry Pi上开源Alexa 自动赛车的股票赛车? Google地图中的吃豆人复活节彩蛋 仅凭照片即可创建自己喜欢的演员
您的位置:首页 >物联网 >

Cheerp C ++转JavaScript

您可能知道emscripten是将C ++转换为JavaScript编译器的方法,但还有其他方法。例如,Cheerp的工作方式略有不同,其最新版本1.1更快。

Cheerp的版本1大约一年前发布。它是C ++到JavaScript编译器的开源程序,具有可选的商业支持。

新版本的Cheerp的主要功能是现在速度更快。它编译为JavaScript,而不是像emscripten这样的asm.js,并且使用了不同的内存模型。而不是使用大型数组作为工作内存,Cheerp将C ++对象编译为JavaScript对象。

这种更复杂的方法的唯一缺点是C ++源代码的输入比通常的输入要严格。据称,实际上大多数C ++代码已经被很好地键入,并且所需的额外工作很少。

对所有数据使用JavaScript对象的关键特征是内存使用不受固定大小数组的限制。另一个几乎偶然的优点是,Cheerp代码不容易受到缓冲区溢出的影响,因为内存布局不是全局线性的,并且始终采用JavaScript的内存保护。

由于代码只是标准JavaScript,因此它的加载速度比asm.js更快,而asm.js必须在启动前进行验证。基准测试表明,与Cheerp相比,asm.js的脚本通常从50毫秒减少到大约10毫秒。

加载代码后,Cheerp 1.1也会更快。与版本1相比,最新的Cheerp可以将运行速度提高四到六倍。这还不足以使它比emscripten更快,但现在两者在小型基准测试上可以媲美,而哪个基准测试排在前面,取决于任务和所使用的JavaScript引擎。在测试中,Cheerp始终能够运行不低于10倍的本机性能,对于许多任务而言,这就足够了。

对于更大,更复杂的程序,Cheerp的运行速度仍然比脚本运行速度慢3到5倍,但是该团队确信,由于尚需进行优化,因此它知道如何赶上下一个版本。您还需要记住,所有这些操作都是在没有利用asm.js可能提供的加速的情况下完成的。在将来的版本中,计划允许逐对象选择asm.js编译。

总的来说,Cheerp是emscripten的一个有趣替代方案,它提供了更快的启动,由于分配内存的方式而具有更好的可伸缩性,以及在某些情况下具有相对较小的性能损失的更好的安全性。

.Cheerpsq

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。