#query #salsa #key #computation #generic #framework #experimental

gluon-salsa

一个用于按需、增量计算的泛型框架(实验性)

3 个不稳定版本

0.15.2 2020 年 8 月 10 日
0.14.2 2020 年 7 月 5 日
0.14.1 2020 年 4 月 15 日

#1312数据库接口

Download history 36/week @ 2023-12-11 84/week @ 2023-12-18 180/week @ 2023-12-25 106/week @ 2024-01-01 119/week @ 2024-01-08 163/week @ 2024-01-15 22/week @ 2024-01-22 26/week @ 2024-01-29 37/week @ 2024-02-05 30/week @ 2024-02-12 33/week @ 2024-02-19 78/week @ 2024-02-26 99/week @ 2024-03-04 114/week @ 2024-03-11 106/week @ 2024-03-18 74/week @ 2024-03-25

403 每月下载量
8 个 Crates 中使用(通过 gluon

Apache-2.0 OR MIT

1.5MB
4K SLoC

salsa

Test Book Released API docs Crates.io

一个用于按需、增量计算的泛型框架。

强制警告

目前仍处于开发阶段。适用于实验性使用,但预期会有频繁的破坏性更改。

致谢

此系统深受 adaptonglimmer 和 rustc 的查询系统的启发。因此,归功于 Eduard-Mihai Burtescu、Matthew Hammer、Yehuda Katz 和 Michael Woerister。

关键思想

salsa 的关键思想是您将程序定义为一组 查询。每个查询都像函数 K -> V 一样使用,该函数从类型为 K 的键映射到类型为 V 的值。查询有两种基本类型

  • 输入:系统的基础输入。您可以根据需要随时更改这些输入。
  • 函数:纯函数(无副作用)将输入转换为其他值。查询的结果被缓存以避免频繁重新计算。当您更改输入时,我们将(相当智能地)确定何时可以重新使用这些缓存的值以及何时需要重新计算它们。

想要了解更多信息?

要了解更多关于 Salsa 的信息,请尝试以下方法

联系方式

大部分讨论发生在 问题拉取请求 中,但我们还有一个 zulip 聊天室

依赖项

~4MB
~77K SLoC