自动生成字节级的 SIMD 查找表
本文介绍了如何使用 Rust 编写 absolut 库,该库可以自动生成字节级的 SIMD 查找表。
SIMD 查找表可以用于高效地扫描字节数组,并找到其中特定字节的索引。
absolut 库使用 SMT 求解器来自动生成 SIMD 查找表。
absolut 库还支持自定义字节类,并可以生成不同长度的 SIMD 查找表。 本文还给出了 absolut 库的使用示例。
原文链接: https://www.fuzzypixelz.com/blog/absolut/
absolut 的 github地址: https://github.com/fuzzypixelz/absolut
让我们谈一谈 Allocator trait
这篇文章作者对 Rust 中 Allocator trait 的现状有一些疑问。作者认为,Allocator trait 还不稳定,存在一些根本性的问题。作者还列出了一些具体的问题,例如:
使用 &self 而不是 &mut self。作者认为,这会导致非 ZST Allocator 的性能问题。
Layout 是否应该是 NonZeroLayout?作者认为,答案可能是“是”,但也应该探索其他途径。
等等更多...
作者最后表示,他打算在未来几篇文章中对这些问题进行更详细的讨论
原文链接: https://shift.click/blog/allocator-trait-talk/
使用kinded
库来处理 enum
kinded
库可以帮你自己生成不带变量的 enum, 例如下面例子中, DrinkKind
就是自动生成的.
use kinded::Kinded;#[derive(Kinded)]
enum Drink {Mate,Coffee(String),Tea { variety: String, caffeine: bool }
}let drink = Drink::Coffee("Espresso".to_owned());
assert_eq!(drink.kind(), DrinkKind::Coffee);
原文链接: https://www.greyblake.com/blog/handling-rust-enum-variants-with-kinded-crate/
github地址: https://github.com/greyblake/kinded
rataui: tui-rs 的社区继承版本
ratatui 是一个 Rust 库,用于构建丰富的终端用户界面和仪表板。它是原始 tui-rs 项目的社区分支
日前, tui-rs 上的一个 commit 已经正式在其 README 上添加说明, 宣布 tui-rs
已经不再维护, 请使用社区维护版本 rataui
.
rataui github 地址: https://github.com/ratatui-org/ratatui
--
From 日报小组 FBI小白
社区学习交流平台订阅:
Rustcc论坛: 支持rss
微信公众号:Rust语言中文社区