乐趣区

关于rust:Line在服务端-WASM的分享用Rust和wasm实现-AI-as-a-serviceWebAssembly-周报0923

WebAssembly 周报 #19

入群请至文末

编者按:WebAssembly 持续蓬勃成长,有了更多语言反对、更多工具以及更多的利用案例。

WebAssembly Today

用 Node.js 写的高性能且平安的人工智能即服务(AI as a Service)????

对于 1200 万 JavaScript 开发者来说,AI as a Service 意味着在 Node.js 中运行 Tensorflow 模型。做到这点的一种办法是用在 Node.js 里运行的 Rust 和 WebAssembly 替换 Python 本机模块。本文将教您如何应用 Rust、WebAssembly 和 Tensorflow 实现作为 web 服务的人脸检测。

Emscripten 2.0.4 公布,反对 Bazel ????

Emscripten 2.0.4 本周公布了。新性能:

  • 是反对 Bazel 的第一个版本。
  • 进行了默认蕴含 mallocfree。如果您须要从 JS 拜访它们,则必须应用 -s EXPORTED_FUNCTIONS=['_malloc', ..]手动导出。
  • 进行在 -O1 中运行 Binaryen 优化。这使得 -O1 构建得略微大一些,然而它们编译得更快,这在“有斗争的”构建(在 -O0 和适宜公布构建的更高优化级别二者之间)中更有意义。
  • 增加 ERROR_ON_WASM_CHANGES_AFTER_LINK 选项,如果连贯后咱们须要在 wasm-emscripten-finalize 或者 wasm-opt 中执行任何工作,则增加 ERROR on wasm changes after _ link 选项。这能够验证链接是达到最快速度,也不做 DWARF 重写。

Blazor 速度更快了 (即使没有 AOT) ????

Blazor 最近为.NET 5 公布了一个新的候选版本(RC)。依据性能 benchmark,.NET 5 的 Blazor WebAssembly 比以前快了 2 - 3 倍。性能的晋升在于外围框架库和对.NET IL 解释器的优化。值得一提的是,Blazor 在没有应用 AOT 优化的状况下实现了这样的性能。

Python WebAssembly Playground ????

应用 Python Playground 在浏览器中运行 Python 代码。你的 Python 代码将被编译成 WebAssembly 并在浏览器中运行。这个在线 IDE 还反对 JavaScript 和 Go。

WebAssembly 赋能的基于浏览器的 FFmpeg 视频转码器 ????


还记得咱们过来写的视频转码器我的项目吗?该我的项目最近更名为 modfy.video。它也达到了一个稳固的版本。它的新个性和改良包含以下内容。

  • 大幅升高数据使用量(最高 25 MB)
  • 反对任何格局的视频
  • 用 CLUI 实现模组化设计
  • 增加文档和 API reference

Decaton 减少来自 Line 团队的实验性的 WebAssembly 反对 ????

Line 团队最近分享了他们在服务端 WebAssembly 的教训。想法是反对用户以任何语言编写的 Decaton 处理器。WebAssembly 反对多种语言,并能使用户代码平安运行。

文章第一局部介绍了如何将 WebAssembly 运行时集成到 Java 应用程序中。第二局部探讨了如何扩大 WASI 的 API 和 Rust 的规范库来减少对 socket 的反对。

作者示意,“就 WebAssembly 在浏览器之外的利用而言,我认为它的前景十分光明。”

当咱们探讨 WebAssembly 的时候咱们在探讨什么?????

开发者 Peter Salomonsen 解释了为什么他想让 WebAssembly 专一于作为一个计算引擎,而不是提供对整个零碎(例如 UI)的拜访权限 —- WebAssembly 的价值定位是平安第一。在服务端应用 WebAssembly,他提出了一个很好的观点:WebAssembly 容许浏览器和服务器之间的代码复用。

用 emscripten 将一个 c + + 游戏引擎移植到 web 上 ????

Alex Dixon 探讨了他如何将一个游戏引擎移植到 web 服务器上,以在浏览器中运行 WebGL 游戏。

Low-Level Academy????‍????‍

Low-Level academy 将传授 Rust 和 WebAssembly 的零碎编程课程。它从网络编程开始。您将在第一节课里学习如何应用 UDP 和 TCP 互联网协议。

Web Assembly 所有的所有 ????

谷歌的 Martina Kraus 在 WebAssembly Live 会议上分享了一个演讲,对于如何优化 WebAssembly 字节码的大小和启动工夫。

WebAssembly in Action ✍️

WebAssembly in Action 当初能够收费看了。点击浏览,学习一下什么是 WebAssembly 以及它如何运行。

Rust 新闻

Rust 2021: 升高门槛 ????

为了让 Rust 成长,并减少在支流开发者对 Rust 的应用,咱们必须升高学习和应用 Rust 的门槛。本文提出了一些倡议。

  1. 装置体验不错——还能晋升吗?
  2. 文档还能够——还能更好吗?更容易被找到?例如,优良的 Rust cookbook(教程)是否广为人知?它是否可能更新错误处理的最新倡议?翻译成更多的语言?
  3. 教程和学习材料是好的——它们能够更好吗?是否有更多针对某一特定畛域的视频教程或教程,比方嵌入式编程(embedded programming)?
  4. 编译器报错还行——能够更好吗,就像最近的 PR 显示的那样?
  5. 5. 编译工夫 (Compile times) 和 IDE 体验曾经改良——还能持续改良吗?咱们是否失去一个疾速的调试后端(fast debug backend),以进一步提高生产力?

有什么理由不选 Rust ????

Go 和 Rust 语言之间的和平正在升温,好消息是 WebAssembly 全都反对!小孩子才做抉择!

Dropbox 将 protobuf codegen 开源 ????

Dropbox 开源了 pb-jelly,一个为 Rust 开发的 protobuf 代码生成框架。目前 Dropbox 的几个模块都在应用这个软件,包含 Sync Engine 和 Magic Pocket。

Bevy 0.2 公布 ????

Bevy 0.2 公布了。咱们在之前曾经介绍过这个简略的数据驱动游戏引擎。

新个性:

  • 异步工作零碎。CPU 占用率十分高。
  • 应用 WebAssembly 反对初始 Web 平台。
  • 并行查问
  • 重写转换零碎
  • 反对游戏手柄 / 游戏键盘
  • 改善 Bevy ECS 的性能

迷信中的 Rust 和一直变动的要求 ????

从一直变动的需要中比拟 Rust 和 Python,包含可读性、可测试性、反馈和工具链。

Serverless

Serverless: 我曾经不是宝宝啦 ????

这篇文章内容丰盛,咱们将从这篇文章中对无服务器有一个全面的理解,它蕴含:

  • 无服务器的概念,
  • 如何对无服务器分类,
  • 无服务器绝对于虚拟机的劣势,
  • 无服务器容器和无服务器函数的区别,
  • 如何扩大无服务器函数。

退出移动版