30 个版本
新 0.0.230 | 2024 年 8 月 19 日 |
---|---|
0.0.229 | 2024 年 8 月 12 日 |
0.0.227 | 2024 年 7 月 29 日 |
0.0.222 | 2024 年 6 月 24 日 |
0.0.203 | 2024 年 2 月 26 日 |
318 在 开发工具 中排名 #318
3,070 每月下载次数
用于 23 个 crate(2 个直接使用)
205KB
4K SLoC
salsa
按需增量计算的泛型框架。
重要警告
这是一个基于 https://github.com/salsa-rs/salsa/ 的分支,根据 rust-analyzer 的需求进行了调整。
致谢
本系统深受 adapton、glimmer 和 rustc 的查询系统的启发。因此,感谢 Eduard-Mihai Burtescu、Matthew Hammer、Yehuda Katz 和 Michael Woerister。
核心思想
salsa
的核心思想是,您可以将程序定义为一组 查询。每个查询都像函数 K -> V
一样使用,该函数从类型 K
的某个键映射到类型 V
的值。查询有两种基本类型
- 输入:系统的基础输入。您可以在任何时候更改这些输入。
- 函数:纯函数(无副作用)将您的输入转换为其他值。查询的结果被缓存以避免重复计算。当您更改输入时,我们会(相当智能地)确定何时可以重用这些缓存值以及何时需要重新计算它们。
想了解更多吗?
要了解更多关于 Salsa 的信息,请尝试以下方法
- 阅读带有大量注释的 hello_world 示例;
- 查看 Salsa 书籍;
- 观看我们的 视频。
联系方式
依赖关系
~2.4–8MB
~65K SLoC