< 返回版块

苦瓜小仔 发表于 2025-08-25 10:51

Tags:日报

文章《SurrealDB 为提升基准测试表现而牺牲数据持久性》

SurrealDB 在使用 RocksDB 或 SurrealKV 存储后端时,默认情况下会牺牲数据持久性以提升基准测试表现。

文章提到,用户必须显式设置环境变量 SURREAL_SYNC_DATA=true,否则数据库在崩溃时可能会损坏数据。

作者通过分析 SurrealDB 的代码,发现其在数据写入时未默认启用 fsyncfdatasync,导致数据可能仅存储在操作系统缓存中,而非持久化到磁盘。

这种默认设置虽提高了写入性能,但牺牲了数据安全性。作者建议 SurrealDB 团队应更改默认设置或在文档中明确警告用户,同时呼吁用户在使用 SurrealDB 时务必设置 SURREAL_SYNC_DATA 以确保数据持久性。

阅读:https://blog.cf8.gg/surrealdbs-ch/

Reddit:https://www.reddit.com/r/rust/comments/1my7xen/surrealdb_is_sacrificing_data_durability_to_make/

文章《使用更少的指令,将 Rust 整数转换为枚举类型》

这篇文章探讨了 Rust 中将整数转换为枚举类型的几种方法及其性能。

作者介绍了使用#[derive]std::mem::transmutematch语句三种方式。

  • #[derive]方法在稳定版 Rust 中不能用于const fn且需返回Result类型;
  • std::mem::transmute方法生成的汇编代码简单但存在安全风险;
  • match方法安全但生成的汇编代码包含额外分支,可通过位掩码优化。

作者还探讨了使用std::mem::variant_count动态生成位掩码的方法,但需使用 Rust 夜间版。

性能测试显示,直接使用match方法在多数情况下表现最好。

阅读:https://sailor.li/ints-to-enums

Reddit:https://www.reddit.com/r/rust/comments/1myt3j8/rust_ints_to_rust_enums_with_less_instructions/

视频:最小 FAT32 文件系统驱动程序

前几天我发了一篇帖子,分享了我使用 Rust 编写的、针对嵌入式平台的最小 FAT32 文件系统驱动程序。

我把这个过程的最后部分记录在这个视频里,有兴趣的可以看看。

观看:https://youtu.be/VcWXn8B9RoE

Reddit:https://www.reddit.com/r/rust/comments/1myrpqh/following_up_on_a_post_i_made_the_other_day/

Dysk:文件系统列表工具,类似 df 但更好

dysk 能够以更直观的方式展示磁盘信息,包括文件系统类型、磁盘种类、使用量、图形化的使用百分比以及设备的挂载位置等。

它还支持多种过滤和定制选项,如通过 -af 参数筛选特定类型的磁盘,或通过-c参数自定义显示的列。

仓库:https://github.com/Canop/dysk

阅读:https://cubiclenate.com/2024/04/12/dysk-the-stupendous-filesystem-listing-utility/

--

From 日报小组 苦瓜小仔

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页