cheerp 简介

简介: 这个文章主要介绍了为什么要用cheerp技术以及和其他对标的技术对比,他的闪光点在哪里。WebAssembly 是一种中间码用于加速浏览器端应用,目前有多种语言可以编译或者交叉到这种格式。当然这个不是本文的内容,详细了解请移步 wasm官网目前支持:cc++是官方推荐的方式,详细使用见文档;其他语言AssemblyScript:语法和 TypeScript 一致,对前端来说学习成本低,为前端编写 WebAssembly 最佳选择;Rust:语法复杂、学习成本高,对前端来说可能会不适应。

这个文章主要介绍了为什么要用cheerp技术以及和其他对标的技术对比,他的闪光点在哪里。

WebAssembly 是一种中间码用于加速浏览器端应用,目前有多种语言可以编译或者交叉到这种格式。当然这个不是本文的内容,详细了解请移步 wasm官网

目前支持:

cc++是官方推荐的方式,详细使用见文档;
其他语言

  1. AssemblyScript:语法和 TypeScript 一致,对前端来说学习成本低,为前端编写 WebAssembly 最佳选择;
  2. Rust:语法复杂、学习成本高,对前端来说可能会不适应。详细使用见文档;
  3. Kotlin:语法和 Java、JS 相似,语言学习成本低,详细使用见文档;
  4. Golang:语法简单学习成本低。但对 WebAssembly 的支持还处于未正式发布阶段,详细使用见文档。

cheerp:

cheerp技术是基于llvm的一个交叉工具技术集合, 目前可以支持到的交叉
c/c++到javascript/asm.js/wasm的功能完备的的可移植方案。

笔者从2014年开始就接触cheerp至今, 一直对这个技术抱有极大的热情。

对比emcc(不懂自行百度)优势和劣势。

优势:

  1. cheerp代码更加简单, 环境配置也简单。
  2. 完备的C++14支持。
  3. 编译后拥有更小的体积(内存模型)
  4. 更容易的混合编程(c++,js,wasm)
  5. 更快的性能
  6. 可以支持降级方案

缺点: 几乎是唯一也是致命的缺点,没有对应的文档。

对比其他交叉到wasm的方案

  1. LLVM AOT支持
  2. 本地数学库支持
  3. 交织流水线优化
  4. 更短的指令集合
  5. 更适合大型项目
  6. 无差别融合asm.js/js库
  7. 超越30%的性能

性能:
c/c++开启优化1200ms >
wasm 1990ms >
c/c++未开启优化 2400ms >
asm.js 2600ms >
node.js 2900ms >
luajit 4500ms>
lua5.2 34000ms

by 钟元 agent.zy@aliyun.com

相关文章
|
存储 前端开发 JavaScript
十二款·富文本编辑器:数字创作的瑞士军刀
在数字化时代,内容创作已经成为我们日常生活中不可或缺的一部分。无论是撰写一封电子邮件、准备一份报告、还是在社交媒体上分享心情,文字都是我们表达和沟通的基石。而在这个过程中,富文本编辑器就如同一把瑞士军刀,为我们提供了多种功能以增强和美化我们的文字内容。
957 1
【QT】创建、打开QT项目只显示.pro文件的问题解决
【QT】创建、打开QT项目只显示.pro文件的问题解决
3849 0
|
12月前
Threejs制作窗户透亮效果
这篇文章讲解了如何在Three.js中制作窗户的透亮效果,包括设置透明材质和光照以实现逼真的窗户渲染效果的技术细节。
269 1
|
8月前
|
机器学习/深度学习 存储 文字识别
阿里国际Ovis2系列模型开源:多模态大语言模型的新突破
阿里国际Ovis2系列模型开源:多模态大语言模型的新突破
342 0
|
CDN
Iconfont——Error: <path> attribute d: Expected number, "MNaNNaNaNaNNaNNaN…".
Iconfont——Error: <path> attribute d: Expected number, "MNaNNaNaNaNNaNNaN…".
143 0
|
JavaScript 前端开发
JavaScript prototype(原型对象)
JavaScript prototype(原型对象)
216 0
|
安全 物联网 网络架构
Zigbee—网络层地址分配机制
Zigbee—网络层地址分配机制
|
弹性计算 大数据 测试技术
2024阿里云服务器收费标准价格1年、2年、3年、4年、5年优惠
2024阿里云服务器收费标准价格1年、2年、3年、4年、5年优惠,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核4G服务器30元3个月
|
Rust 前端开发 JavaScript
Rust在前端与全栈开发中的实践探索
随着Rust语言的日渐成熟,其应用场景已经从后端扩展到前端和全栈开发领域。本文将深入探讨Rust语言在前端与全栈开发中的实际应用案例,分析Rust语言在这些领域的优势和面临的挑战,并展望Rust未来的发展趋势。