 | | EulerChen V2EX member #367423, joined on 2018-12-03 09:37:09 +08:00 |
 | Per EulerChen's settings, the topics list is hidden |
Deals info, including closed deals, is not hidden
EulerChen's recent replies
不是兼容性问题,就是单纯的 iOS 15 之前 Safari 浏览器对 wasm 解码实现有问题而已,我把你的 wasm 二进制文件挨个字节分析了一下,是符合 wasm spec 规范的
排除 C#我不了解以外,我个人觉得优先选择如下
第一选择:C/C++,目前 C/C++/Rust 编译到 WebAssembly 基本上都是基于 LLVM ,编译产物在性能和体积方面区别不大,但是 C/C++存量代码比 Rust 很多,生态也更好,Rust 有的 C/C++都有,Rust 没有的 C/C++也有
第二选择:Rust ,感觉是政治正确的原因,Rust 看起来比 C/C++更火热,如果不想用 C/C++的话 Rust 是个不错的选择
第三选择:Go ,Go 编译到 wasm 需要用 TinyGo 编译器,但 Go 编译到 wasm 跟编译到 Native 有同样的缺陷,编译产物体积很大(塞了个 Runtime 进去),尽管 TinyGo 的后端也是基于 LLVM
第四选择:AssemblyScript ,编译器前端是手搓的(不太行),编译器后端是 Binaryen (大佬出品,值得信赖),基本不可能复用 npm 生态,AS 代码虽然看起来类似 TS ,但其实从类型系统的角度看根本不是一种语言,很少有 JS/TS 可以方便移植到 AS 上,这个项目最近两年已经处于半死不活的状态,除非你只会 JS/TS ,否则不推荐 AssemblyScript
建议:简历上多写点涉及前端核心技术的东西,像修复文档 typo 这种就不用提了,多写写你会哪些技术(尤其是你觉得你比大多数强的地方),用这些技术做了哪些项目(项目最好复杂一点,你那些技术才有用武之地)。如果会 Rust ,也可以写上去。
请问您做的这个轻量级 JIT 打算是应用在什么场景下呢?
我们团队这边目标场景是区块链,也做了一个对标 WAMR fastjit 的轻量级 JIT ,并已经上线蚂蚁链生产环境,JIT 整体编译+执行时间比 wasmer-singlepas 、wasmer-cralieft 、wasmer-llvm 都要好