aboutsummaryrefslogtreecommitdiffhomepage
path: root/tinyufo
AgeCommit message (Collapse)Author
2024-06-28make seeded estimator and plumbing for testsMatthew Gumport
I started fidgeting with another one of the tests breaking because of the estimator not being deterministic, and then decided to do this another way. This adds `seeded` and `seeded_compact` constructors to the estimator which are used in tests to override the LFU. These are hidden behind `cfg(test)`. The `random_status` field of the UFO object is also overridden with the same seeds as used for the seeded LFU. These make the tests pass consistently without requiring further monkeying.
2024-06-21change tinyufo test to be deterministicMatthew Gumport
Previously the test would fail because the item evicted may be the entry (4,4,1) failing admission. I adjusted the weights so that all weights for items besides the one we want moved to the main cache are equal and the cache can only hold three. The test then checks that 1 is moved to the main, the evicted key is gone, and the other two are present.
2024-05-31Pin triomphe to keep our MSRVYuchen Wu
2024-05-10Release 0.2.00.2.0Yuchen Wu
2024-04-22fix tinylfu test flakeMatthew Gumport
The TinyLFU test was failing for changes unrelated to anything in the tinyufo crate. This changes the test to stop that! What was occurring was expected behavior, so the test is what's changing instead of any internal logic. What was happening were hash collisions in the bloom filter used by the estimator. Instead of asserting that we'd always start counting from 0, we now allow for this in the test by `get()`ing first, then comparing relative values. For the final comparisons, we check that values are greater-than or equal-to their lower bound as determined by the number of `incr()`s we called on their keys.
2024-04-22Fix #186 Expose Bucket to prevent compile error in Rust <= 1.73Kevin Guthrie
2024-03-22TinyUFO: add quick_cache for benchmarksYuchen Wu
Add more cache crates to compare with. Co-authored-by: Arthur Silva <[email protected]>
2024-03-22TinyUFO: add the option to use sharded skip list for storageYuchen Wu
This option makes it more memory efficient but a bit slower.
2024-03-15compile and test cleanly with nightlyMatthew Gumport
The vast majority of these are redundant imports.
2024-03-01Fix TinyUFO ahash in nightly RustYuchen Wu
I think ahash has this bug where the hash of &u64 and u64 are different under nightly build. This works around that.
2024-02-27Release Pingora version 0.1.0v0.1.0Yuchen Wu
Co-authored-by: Andrew Hauck <[email protected]> Co-authored-by: Edward Wang <[email protected]>