1
1
mirror of https://github.com/wez/wezterm.git synced 2024-11-28 01:06:37 +03:00
wezterm/wezterm-dynamic/derive
Wez Furlong 0516b61f62
lfucache: improve LFU algorithm and structure
Do it "more properly": use intrusive list linkage to manage three
indices:

* hash lookup
* recency
* frequency

eviction is frequency based, but in order to avoid things that were
super hot in the past and that are no longer hot clogging up the cache,
eviction will incrementally age out least recently used entries that
haven't been active in the span of some number of get/put operations.

Aging scales down the frequency value to reduce its strength, so an aged
item isn't necessarily immediately a candidate for removal, it just
makes it more likely to be picked up by the frequency based removal as
it goes unused for an extended period.
2022-11-14 10:00:49 -07:00
..
src config: validate consistency of domain names 2022-10-11 06:59:12 -07:00
Cargo.toml lfucache: improve LFU algorithm and structure 2022-11-14 10:00:49 -07:00
LICENSE.md Add missing license files 2022-08-17 07:19:12 -07:00