python wasm_Line在服务端 WASM的分享、用Rust和wasm实现 AI as a service-WebAssembly 周报0923...

WebAssembly 周报 #19入群请至文末

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

WebAssembly Today

e0a2ac8c98ba87f4b80fcaaa32045969.gif

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

Emscripten 2.0.4 本周发布了。新性能:是支持 Bazel 的第一个版本。

停止了默认包含 malloc 和 free。如果您需要从 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 重写。

d45f3cff262b1565dde6197c2b7216d4.png

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

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

349a6fbd7537ffb6a2f335a4c153a7c5.png

还记得我们过去写的视频转码器项目吗?该项目最近更名为 modfy.video。它也达到了一个稳定的版本。它的新特性和改进包括以下内容。大幅降低数据使用量(最高25 MB)

支持任何格式的视频

用 CLUI 完成模组化设计

添加文档和 API reference

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

文章第一部分介绍了如何将 WebAssembly 运行时集成到 Java 应用程序中。第二部分讨论了如何扩展 WASI 的 API 和 Rust 的标准库来增加对 socket 的支持。

作者表示, “就 WebAssembly 在浏览器之外的应用而言,我认为它的前景非常光明。”

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

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

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

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

WebAssembly in Action 现在可以免费看了。点击阅读,学习一下什么是WebAssembly 以及它如何运行。

Rust 新闻

为了让 Rust 成长,并增加在主流开发者对 Rust 的使用,我们必须降低学习和使用 Rust 的门槛。本文提出了一些建议。安装体验不错——还能提升吗?

文档还可以——还能更好吗?更容易被找到?例如,优秀的 Rust cookbook(教程)是否广为人知?它是否能够更新错误处理的最新建议 ?翻译成更多的语言?

教程和学习材料是好的——它们可以更好吗?是否有更多针对某一特定领域的视频教程或教程,比如嵌入式编程( embedded programming) ?

编译器报错还行——可以更好吗,就像最近的 PR 显示的那样?

5.编译时间( Compile times )和 IDE 体验已经改进——还能继续改进吗?我们能否得到一个快速的调试后端( fast debug backend ) ,以进一步提高生产力?

Go 和 Rust 语言之间的战争正在升温,好消息是 WebAssembly 全都支持!小孩子才做选择!

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

Bevy 0.2 发布了。我们在之前已经介绍过这个简单的数据驱动游戏引擎。

新特性:异步任务系统。CPU 占用率非常高。

使用 WebAssembly 支持初始 Web 平台。

并行查询

重写转换系统

支持游戏手柄/游戏键盘

改善 Bevy ECS 的性能

从不断变化的需求中比较 Rust 和 Python,包括可读性、可测试性、反馈和工具链。

Serverless

这篇文章内容丰富,我们将从这篇文章中对无服务器有一个全面的了解,它包含:无服务器的概念,

如何对无服务器分类,

无服务器相对于虚拟机的优势,

无服务器容器和无服务器函数的区别,

如何扩展无服务器函数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值