深入浅出聊聊 Rust WebAssembly (zhuanlan.zhihu.com)

【简介】

js 是一种解释型语言,它代码运行之前不会进行编译工作,而是在执行的过程中实时编译。为了让边编译边执行能够顺利进行,我们拥有了 js 引擎。

wasm 则与之不同,它本身不是一种编程语言,而是一种字节码的标准,可以通过不同种类的高级编程语言,比如 Rust、Go、Python 等等,通过各自编译器将代码转换成 .wasm 文件,放入到浏览器预先做好的 wasm 虚拟机当中运行。

点击查看原文 >>

@又拍云 2021-06-28 11:22 / 0个评论
赞过的人: @IT技术博客大学习 @又拍云
要不要再学学下面的文章?
在 Rust 中同时支持异步和同步代码 (colobu.com)
在 Rust 中如何同时支持异步和同步代码?本文提供了详细的解决方案,从基础实现到 maybe_async crate 的使用,帮助你在一个代码库中高效处理这两种模式的转换。无论你是构建高并发系统还是希望代码更灵活,这篇文章都提供了实用的技巧。感兴趣的开发者不容错过!
by @技术头条 2024-09-08 23:37 查看详情
使用Rust捕获和解析网络包 (colobu.com)
这篇文章介绍了如何使用Rust编程语言捕获和解析网络包,以提取TCP时间戳并计算网络延迟。作者利用pcap库捕获网络包,并使用pdu库解析TCP选项中的时间戳信息,结合哈希映射存储五元组信息以计算往返时间。文中提供了代码示例,展示了在Mac系统上实现这一过程的步骤。
by @技术头条 2024-08-06 07:53 查看详情
“测试 Rust 的 I/O 性能” (colobu.com)
这篇文章探讨了在Linux上使用Rust进行文件I/O操作的性能测试。作者通过多种方法对读取大文件进行基准测试,包括使用标准BufReader、Direct I/O、内存映射(Mmap)以及io_uring等技术。结果显示,使用AVX-512指令集的内存映射实现是最快的方法,其读取速度超过8.4 GB/s。文章强调不同技术的性能差异,并提供代码示例供开发者参考。
by @技术头条 2024-08-06 07:51 查看详情
聊聊Top Layer顶层特性的隐患与实践 (www.zhangxinxu.com)
文章探讨了Web开发中使用<dialog>元素和其他顶层特性的方法和潜在问题。作者介绍了如何通过showModal()方法使<dialog>元素成为顶层,从而覆盖页面其他元素,并详细讨论了顶层元素带来的显示问题及其解决方案,如使用showPopover()方法显示自定义提示信息。此外,文章还分享了对未来技术兼容性和实用性的见解。
by @技术头条 2024-08-06 07:49 查看详情
聊聊 Go 的边界检查消除技术 (colobu.com)
在翻译的从慢速到SIMD一文中, SourceGraph工程师其中的一个优化就是边界检查消除(BCE,bounds check elimination)技术,同时他也抛给了读者一个问题:

为啥在使用 a[i:i+4:i+4] 而不是 a[i:i+4]?

本文第一部分先回答这个问题。 第二部分介绍更好的边界检查消除方法。 第三部分再全面梳理Go的边界检查消除技术。
by @技术头条 2024-03-21 23:00 查看详情
聊聊可观测性 (jokerbai.com)
随着分布式架构逐渐成为主流,“可观测性”一词也日益频繁地被人提起,它涉及的范围比较广泛,主要概括为如下三类:聚合度量(metrics)、事件日志(logging)、链路追踪(tracing)。

这三个方向虽然各有千秋,各有侧重,但是又不完全独立。在Peter Bourgon 的文章《Metrics, Tracing, and Logging》系统地阐述了这三者的定义、特征,以及它们之间的关系与差异,受到了业界的广泛认可。在实际的工作中,大家或多或少对上面三种都有一定的了解,只是没有机会或者没有需求去深入研究。
by @技术头条 2023-11-29 23:47 查看详情
Rust并发编程番外篇: Mutex内部实现 (colobu.com)
Mutex是最常用的一种同步原语,它提供了互斥锁的功能,多线程可以互斥访问共享数据以及通过锁保护临界区。Rust标准库提供了Mutex的实现,接下来我们看看它是怎么实现的。
by @技术头条 2023-11-06 22:56 查看详情
从Nginx过滤打印user-agent为clb-healthcheck的日志聊聊Nginx的日志自定义打印 (wiki.eryajf.net)
通常我们的南北流量的链路是从云的 LB 到服务器的 Nginx 集群,为了利用好 lb 自动检测 Nginx 的功能,通常你会打开健康检查,此时,Nginx 的日志当中就会打印大量的健康检查日志,令人不胜其烦。
by @技术头条 2023-10-30 23:39 查看详情
聊聊Web网页中资源加载的优先级 (www.zhangxinxu.com)
通过调整或设置资源加载的优先级或者先后顺序,可以让页面重要的资源优先加载,让不重要的内容之后加载,以提高页面的访问体验。

通过文中的视频比较显示了 Google 机票页面,其中加载了使用和不使用“提取优先级”加载的 LCP 背景图片。将优先级设置为“高”后,LCP 时间从 2.6 秒缩短到 1.9 秒。
by @技术头条 2023-10-30 23:06 查看详情
Rust并发编程 - 容器类并发原语 (colobu.com)
Rust 在并发编程方面有一些强大的原语,让你能够写出安全且高效的并发代码。最显著的原语之一是 ownership system,它允许你在没有锁的情况下管理内存访问。此外,Rust 还提供了一些并发编程的工具和标准库,比如线程、线程池、消息通讯(mpsc等)、原子操作等,不过这一章我们不介绍这些工具和库,它们会专门的分章节去讲。这一章我们专门讲一些保证在线程间共享的一些方式和库。

并发原语内容较多,分成两章,这一章介绍Cow、beef::Cow、Box、 Cell、RefCell、OnceCell、LazyCell、LazyLock 和 Rc。 我把它们称之为容器类并发原语,主要基于它们的行为,它们主要是对普通数据进行包装,以便提供其他更丰富的功能。
by @技术头条 2023-10-24 23:56 查看详情