3 个版本
0.1.2 | 2024 年 4 月 3 日 |
---|---|
0.1.1 | 2024 年 4 月 3 日 |
0.1.0 | 2023 年 11 月 14 日 |
#686 in 文件系统
89 每月下载量
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