Sieve_Cache
lock_free.Sieve_Cache
(K
type
:
property.hashable, V type
, MM type
: container.Mutable_Map K (lock_free.Node K V), capacity i32) ref
:
Any is
¶Type Parameters
Fields
Functions
access stored value for key,
if not in cache, compute and store in cache
if not in cache, compute and store in cache
Comment of Any.as_string
create a String from this instance. Unless redefined, `a.as_string` willcreate `"instance[T]"` where `T` is the dynamic type of `a`
0.099dev (GIT hash 250922c42fb1dcef5ce7ce89820538f53498ca37)
It achieves both simplicity and efficiency."
source: https://sievecache.com/
paper : https://junchengyang.com/publication/nsdi24-SIEVE.pdf
example usage:
cache0 := lock_free.Sieve_Cache String i32 3
say <| cache0.access "A" ()->1 # => 1
say <| cache0.access "B" ()->2 # => 2
say <| cache0.access "C" ()->3 # => 3
say <| cache0.access "A" ()->4 # => 1
say <| cache0.access "D" ()->5 # => 5
say <| cache0.access "C" ()->6 # => 3