7 releases
0.2.4 | Apr 16, 2023 |
---|---|
0.2.3 | Apr 15, 2023 |
0.2.2 | Jan 26, 2022 |
0.2.1 | Oct 16, 2021 |
0.1.1 | Oct 12, 2021 |
#583 in Filesystem
736 downloads per month
Used in verneuil
210KB
3.5K
SLoC
Kismet: a Second Chance cache for files on disk
Kismet implements multiprocess lock-free crash-safe and (roughly) bounded persistent caches stored in filesystem directories, with a Second Chance eviction strategy. The maintenance logic is batched and invoked at periodic jittered intervals to make sure accesses amortise to a constant number of filesystem system calls and logarithmic (in the number of cached file) time complexity, without requiring any persistent in-memory statistics. That's good for application simplicity and performance, and enables lock-freedom, but does mean that caches are expected to temporarily grow past their capacity limits, although rarely by more than a factor of 2 or 3.
Dependencies
~3–12MB
~157K SLoC