1
1
mirror of https://github.com/wez/wezterm.git synced 2024-11-24 07:46:59 +03:00
wezterm/wezterm-dynamic
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
..
derive lfucache: improve LFU algorithm and structure 2022-11-14 10:00:49 -07:00
src dynamic: handle ambiguous {} object vs. array case centrally 2022-07-07 15:42:14 -07:00
tests add wezterm-dynamic crate 2022-05-18 07:47:39 -07:00
Cargo.toml prep for publishing wezterm-bidi and wezterm-dynamic to crates.io 2022-08-01 18:35:56 -07:00
LICENSE.md Add missing license files 2022-08-17 07:19:12 -07:00