IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> WasmEdge 0.9.1 发布:更佳 networking 支持与开发者体验、安卓支持 -> 正文阅读

[移动开发]WasmEdge 0.9.1 发布:更佳 networking 支持与开发者体验、安卓支持

WasmEdge 0.9.1 发布! 更好的 networking 支持与开发者体验、安卓支持

WasmEdge 0.9.1 发布了!此版本集成了高性能 networking、JavaScript 流式 SSR 和 Fetch API 支持、新的 bindgen 框架、安卓和 OpenHarmony 操作系统支持、扩展的 Kubernetes 支持以及改进的内存管理。

  • WebAssembly 扩展
  • 流式服务端渲染(SSR)函数
  • 安卓和 OpenHarmony
  • Kubernetes
  • 漏洞修复和性能提升

WebAssembly 扩展

WasmEdge 目标是支持所有标准和可选的标准 WebAssembly 扩展提案。它也支持对云原生使用场景的非标准和试验性扩展,例如 networking 和数据传递。

Rust 和 JavaScript 的高性能 networking

WasmEdge 从 0.8.2 版本开始就原生支持 Networking socket 。但是,使用同步 networking sockets,应用程序一次只能处理一个连接。因此高性能的 CPU 大部分时间处于空闲状态,等待数据从 network 缓慢流入。

在 0.9.1 中,WasmEdge 通过在 Rust 和 JavaScript 应用程序中支持非阻塞 I/O ,从而显著提高了 networking 性能。通过非阻塞 I/O,WasmEdge 程序可以一次打开多个连接,并在接收到数据时异步处理来自这些连接的数据。 同时,WasmEdge 为非阻塞 network I/O 提供了 Rust API 和 JavaScript API。

通过 JavaScript 中的非阻塞 network I/O,我们现在可以在 WasmEdge 中运行流式 SSR 函数并使用 JavaScript Fetch API。 流式 SSR 和 Fetch 通常用于边缘 serverless 函数。

WasmEdge-Bindgen

标准的 WebAssembly 规范仅支持一些开箱即用的简单数据类型。它甚至不支持常见的数据类型,如字符串和数组。要将丰富的数据类型从 Host 应用程序传递给 WebAssembly 函数,我们需要 bindgen 解决方案来将复杂类型转换为简单类型。例如,一个 bindgen 解决方案可以将一个字符串转换为两个整数:一个内存指针和一个长度。

在浏览器世界中,emscripten 工具链处理 JavaScript 调用基于 C 的 WebAssembly 函数;wasm-bindgen 工具链处理 JavaScript 调用基于 Rust 的 WebAssembly 函数。然而,它们都不能很好地在云原生环境中的 WASI 应用程序工作。

因此,WasmEdge 团队创建了 wasmedge-bindgen 框架来支持 WASI 环境中的复杂参数。目前支持 Go host app 调用 Rust 编译的 WebAssembly 函数。具体请查看教程

同时,我们也在开发 wasmedge-bindgen 对 Rust、C、JavaScript / Node.JS 和 Python host app 的支持。

Multi-memories 提案

WasmEdge 0.9.1 支持 multi-memories 提案。此扩展通过在单个 WebAssembly 模块中启用多个内存,使 WebAssembly 执行更快(即更快地复制值)、更安全,且隔离更佳。

如果要启用 multi-memories 提案,请在 wasmedgecwasmedge 工具中使用 --enable-multi-memory 命令行。

支持更多操作系统和设备

除了基于 seL4 的嵌入式和实时设备,WasmEdge 现在已被移植到更多的边缘设备平台。 最大的边缘设备平台是安卓,现在安卓已经完全支持 WasmEdge 0.9.1。

  • 在安卓平台编译和构建 WasmEdge 。 👉 https://wasmedge.org/book/en/extend/build_for_android.html
  • 在安卓上使用 Rust + WebAssembly 用于高性能 AI 推理 (mobilenet 图片识别) 👉 https://wasmedge.org/book/en/os/android/cli.html
  • 在安卓 NDK shell 中封装一个 WebAssembly 应用。 这与第二个是相同的 TensorFlow TFLite 图片识别/推理 Wasm 应用程序,但包在你自己的应用中。 👉https://wasmedge.org/book/en/os/android/ndk.html
  • 创建一个带有嵌入式 WasmEdge Runtime 的安卓 APK 应用。WebAssembly 函数将你的应用变为一个面向其他开发者的平台。 👉 https://wasmedge.org/book/en/os/android/apk.html

WasmEdge 和其 TensorFlow 扩展已经在 ARM64 硬件设备上的 Linux 和 Android 操作系统都得到完全支持。

此外,在 OpenHarmony 操作系统上增加对 WasmEdge 的支持的开发工作已启动。OpenHarmnoy 是新的手机和物联网设备操作系统。

最后,WasmEdge 0.9.1 已经被 Windows 用户的 windows 包管理器收录。 使用以下命令行就可以在 Windows 上安装 WasmEdge。

winget install wasmedge

Kubernetes

WasmEdge 完全符合 OCI 标准。这意味着 WasmEdge 应用可以由标准容器工具存储、管理和执行。 WasmEdge 本身是一个安全的沙箱容器。

在 Kubernetes 集群中,容器化的 WasmEdge 应用程序可以在同一个集群中与 Linux 容器(例如 Docker 容器应用程序)并行管理和编排。 在 0.9.1 版本中,WasmEdge 得到边缘优化的 Kubernetes 框架的正式支持,如 OpenYurtSuperEdge

漏洞修复和性能提升

WasmEdge 每次版本发布都有长串的漏洞修复和性能提升清单。这次 0.9.1 版本也不例外。

  • 通过在生产环境的应用程序中大量使用,已发现并修复了大量内存泄漏问题。
  • 减少指令类的内存使用量,这进一步减少了 WasmEdge 在边缘设备上的占用空间。
  • WasmEdge 执行现在可以被外部信号中断和恢复。 此功能支持更加规范的嵌入式函数。
  • 对 WasmEdge CLI 帮助信息进行了美化。

虽然 WasmEdge 0.9.1 是一个小的版本更新,但是有着对开发者而言非常重要的特性。快来查看吧

感谢所有贡献者!L-jasmine, yanganto, AvengerMoJo, HangedFish, harytary, KernelErr, juntao, MileyFu, O3OI, Saksham Sharma, Shen-Ta Hsieh(BestSteve), SAtacker, Sonofmagic, srenatus, 0xE282B0, vdice, apepkuss, 0yi0, q82419, chenyukang, st9549898, sakhshm26, dreammyboy, zephoon, megrax, alabulei1, alittlehorse, baiyutang, hydai, javadoors, jaredliw, Vinson-Ben, majinghe, meoww-bot, wangbyby, pasicopan, peterbi, villanel, DarumaDocker, wangyuan249, wby, wolfishLamb, sunnywa.

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-02-26 11:42:07  更:2022-02-26 11:44:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 15:33:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码