#cache #expression #proc-macro #system #local-file #results

cache-this

用于使用文件系统进行表达式简单缓存的宏

3 个版本

0.1.2 2024 年 4 月 3 日
0.1.1 2024 年 4 月 3 日
0.1.0 2023 年 11 月 14 日

#686 in 文件系统

Download history 1/week @ 2024-06-05 1/week @ 2024-07-03

89 每月下载量

MIT 许可证

5KB

cache-this

使用本地文件系统进行表达式简单缓存的宏。当本地不存在已缓存的结果时,才会执行 cache_this 宏内的表达式。如果不存在结果,它将被保存到本地文件系统,并随后使用。

结果甚至可以在程序执行之间进行缓存,从而通过消除每次迭代的长时间执行来加快快速原型设计。

表达式通过它们的令牌表示进行缓存。 cache_this! 不识别表达式结果的变化。要删除缓存的值,请删除 .cache-this 文件夹。

请注意,为了序列化和反序列化,cache_this! 依赖于 serde_json。因此,cache_this! 需要缓存表达式结果来实现所需的特性。

示例

use cache_this::cache_this;

fn main() {
   // `some_long_running_function` will be executed here once
   let result = cache_this!(some_long_running_function());
   //...
   // in following calls the cached result will be read without
   // executing the function
   some_other_method(cache_this!(some_long_running_function()));
}

依赖项

~0.7–1.6MB
~36K SLoC