前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2023-08-07 自动生成字节级的 SIMD 查找表

【Rust日报】2023-08-07 自动生成字节级的 SIMD 查找表

作者头像
MikeLoveRust
发布2023-09-26 19:02:30
2630
发布2023-09-26 19:02:30
举报

自动生成字节级的 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就是自动生成的.

代码语言:javascript
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-08 21:37,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 自动生成字节级的 SIMD 查找表
  • 让我们谈一谈 Allocator trait
  • 使用kinded库来处理 enum
  • rataui: tui-rs 的社区继承版本
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档