Ruvy - 转换 Ruby 代码为 WebAssembly 的工具链
Ruvy 是一个工具链,它接受 Ruby 代码作为输入,并创建一个将执行该 Ruby 代码的 WebAssembly 模块。
目前已有从 Ruby 代码创建 Wasm 模块的项目,最常见的是 ruby.wasm。Ruvy 也是基于 ruby.wasm 构建,并提供了一些特定的优势。
官方称创建 Ruvy 旨在利用预初始化 Ruby 虚拟机和 Ruby 脚本包含的 Ruby 文件带来的性能改进。此外,Ruvy 不需要在运行时提供 WASI 参数,从而简化了 Wasm 模块的执行。
WASI 是一组导入的 Wasm 函数的标准化集合,旨在为 Wasm 模块提供一个标准接口,以实现许多典型语言标准库中存在的系统调用。
目前,Ruvy 并未随预编译的二进制文件一起发布,因此需要安装它的构建依赖项,然后编译 Ruvy 才能使用。
构建 Ruvy 后,可以运行以下命令:
$ cargo run -- package=cli ruby_examples / hello_world.rb - o index.wasm $ wasmtime index.wasm Hello world
上述命令将构建并执行 CLI,获取 ruby_examples/hello_world.rb 的内容,并创建一个名为 index.wasm 的 Wasm 模块,当调用 index.wasm 的导出_start 函数时,将执行 puts “Hello world”。
如果要使用额外的 Ruby 文件,可以运行以下命令:
$ cargo run -- package=cli -- -- preload=prelude / ruby_examples / use_preludes_and_stdin.rb $ echo "this is my input" | wasmtime index.wasm {:discount_input=>"this is my input", :value=>100.0}

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
“协同发展,生态聚合” 开放原子1024程序员节圆满落幕
10月24日,由开放原子开源基金会等单位主办的1024程序员节暨“源聚一堂”开源技术沙龙(北京站)大会成功举办。 本次大会以“协同发展,生态聚合”为主题,通过建立健全协同配合长效机制,推动各方形成生态合力,共同繁荣开源事业,共享开源价值。 开放原子开源基金会秘书长冯冠霖在致辞中表示,要推动服务器操作系统社区协同发展,打造门类齐全的开源项目堆栈。在已有项目孵化方面,基金会将不断提升开源项目运营服务能力,全力支持开源社区发展,推动开源生态繁荣,在保持社区独立运营、公平公正的前提下,将组织AnolisOS、OpenCloudOS和openEuler等社区形成合力,在OS内核版本确定、软件包格式等方面深度协同,减少资源重复投入。同时,基金会也将在近期加快AnolisOS、OpenCloudOS项目的捐赠孵化。在未来项目的选择上,基金会将形成门类完整的开源软件堆栈,加快在人工智能、RISC-V等前瞻性开源项目领域的布局,提前抢占未来技术和产业发展方向。
- 下一篇
Chrome 将移除 Theora 支持
谷歌高级软件工程师、Chrome 开发者 Dale Curtis 在 Google Groups 发帖称,考虑到一些新的安全风险,桌面版 Chrome 浏览器中计划淘汰并移除对 Theora 视频编解码器的支持。“Theora 的使用率很低(现在还经常出现错误),对大多数用户来说已不再需要支持。” 针对媒体编解码器的零日攻击激增。 UKM 的使用率已降至可测量水平以下。 在使用率下降之前,Chrome 团队手动检查了一些站点,发现其都错误地选择了 Theora,而不是 VP9 等更现代的编解码器。 Safari 或 Chrome on Android 从未支持过 Theora。 Dale Curtis 表示,他们将为仍然需要 Theora 支持的网站提供ogv.js polyfill,且不会删除对 ogg 容器的支持。计划是逐步开始升级实验,先在 M120 取消对 Theora 的支持。在此期间,有需要的用户可以通过 chrome://flags/#theora-video-codec 重新激活 Theora 支持。 暂定时间表为: ~2023 年 10 月 23 开始 50/50 c...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题