Dlaczego lru z wagami? Bo chcę zrobić cachowanie plików i chcę mieć kontrolę nad zużyciem przestrzeni dyskowej (jest jej mało :<).
https://github.com/rayros/lru-cache-with-weight/blob/main/src/lib.rs
@rayros Wiesz, może i bym się w to zagłębił, gdybym miał kontekst. Na razie mam kawałek kodu bez wskazania warunków brzegowych, które musi spełnić. Wspominasz S3-FIFO - to bez wątpienia lepsze, bo ma już "predykcyjne" właściwości (prymitywne, ale zawsze) dzięki kolejce ukrytej. Ale znów - programowanie zależy od kontekstu. Czasem nie ma sensu używać czegoś, co na nadmiarowe operacje zje Ci te ostatki mocy obliczeniowej na jakimś małym urządzeniu.
@rayros - pisanie swojego LRU jest dobre by zapoznać się z problemem i potencjalnymi sposobami implementacji - do używania na produkcji polecam jednak coś ugruntowanego i sprawdzonego.
Zaloguj się aby komentować
Jeszcze coś takiego znalazłem jak alternatywa do lru https://s3fifo.com/
S3-FIFO: Simple, scalable and efficient caching
Simple, scalable and efficient caching with S3-FIFO