Proposal to Integrate SIEVE Eviction Algorithm
Hi there,
Our team (@1a1a11a) has developed a new cache eviction algorithm, called SIEVE. It’s simple, efficient, and scalable.
Why SIEVE could be a great addition:
- Simplicity: Integrating SIEVE is straightforward, usually needing to change less than 20 lines of code on average.
- Efficiency: On skewed workloads, which are typical in web caching scenarios, SIEVE is top-notch.
- Cache Primitive: SIEVE is not just another algorithm; it's a primitive that could enhance or replace LRU/FIFO queues in advanced systems like LeCaR, TwoQ, ARC, and S3-FIFO.
Welcome to dive into the details on our website sievecache.com and on our SIEVE blog.
We would love to explore the possibility of integrating SIEVE into lru-dict. We believe it could be a beneficial addition to the library and the community.
Looking forward to your feedback!
Awesome, and it is already implemented!
Did you benchmark before/after?
Did you benchmark before/after?
@miili - it looks like @yazhuo and team may have benchmarked SIEVE in https://github.com/amitdev/lru-dict/compare/master...cacheMon:lru-dict:master
@amitdev - have you had a chance to take a look at this yet? The improvements seem good.
(Note: I am not associated with the team behind SIEVE; rather just a (1) user of lru-dict and (2) am interested in leveraging SIEVE after reading about it.)
Just a note, the cachemon implementation is a prototype and should not be merged directly. If @amitdev is willing to merge it, we are happy to create a mergable PR request.