-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: a more friendly dynamic_dispatch bench #332
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* feat: add foyer bench, reorg workspace Signed-off-by: MrCroxx <mrcroxx@outlook.com> * sort cargo file Signed-off-by: MrCroxx <mrcroxx@outlook.com> * make fmt and clippy happy Signed-off-by: MrCroxx <mrcroxx@outlook.com> * fix bug Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* ci: add asan test Signed-off-by: MrCroxx <mrcroxx@outlook.com> * fix Cargo.toml and CI Signed-off-by: MrCroxx <mrcroxx@outlook.com> * regen ci Signed-off-by: MrCroxx <mrcroxx@outlook.com> * rename CI step, test asan fail Signed-off-by: MrCroxx <mrcroxx@outlook.com> * regen CI Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* chore: add license checker Signed-off-by: MrCroxx <mrcroxx@outlook.com> * fix license checker config Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
…rs#15) Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* feat: introduce instrusive indexers and collections Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* feat: introduce FTL-like storage engine Signed-off-by: MrCroxx <mrcroxx@outlook.com> * update ci Signed-off-by: MrCroxx <mrcroxx@outlook.com> * sort cargo file Signed-off-by: MrCroxx <mrcroxx@outlook.com> * fix memory leak Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* feat: enable direct i/o on linux target - enable direct i/o on linux target - refine flusher and reclaimer Signed-off-by: MrCroxx <mrcroxx@outlook.com> * fix unit test Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
…s#30) * chore: remove unused old storage engien and other components Signed-off-by: MrCroxx <mrcroxx@outlook.com> * update ci Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
…-rs#31) Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* feat: impl storage recovery Signed-off-by: MrCroxx <mrcroxx@outlook.com> * chore Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* feat: add segment fifo eviction policy Signed-off-by: MrCroxx <mrcroxx@outlook.com> * export fifo fs store Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* feat: export mods Signed-off-by: MrCroxx <mrcroxx@outlook.com> * make cargo sort happy Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
This reverts commit a8a56cc.
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* fix: deadlock fix deadlocks: 1. exclusive lock was not `Send` but unsafe impled. 2. submit flush task await blocks `set_region_evictable` 3. no new reclamation task created after `set_region_evctable` if all write process are waiting Signed-off-by: MrCroxx <mrcroxx@outlook.com> * update ci Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* fix: gracefullly shutdown runners Use `Store::shutdown_runners()` to gracefully shutdown runners.` Signed-off-by: MrCroxx <mrcroxx@outlook.com> * log warn if send failed instead of panic Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
- fix region advance - fix recovery slice destroy - seal last dirty region when shutdown Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* feat: introduce prometheus metrics Signed-off-by: MrCroxx <mrcroxx@outlook.com> * calc metrics Signed-off-by: MrCroxx <mrcroxx@outlook.com> * fix registry metrics Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* feat: add eviction alg hit ratio bench * refactor: use enum cache instead of generic cache The enum cache is more easy to use since it only has two generic parameters. The generic cache is more like an internal interface. Signed-off-by: xiaguan <751080330@qq.com> * chore : sort foyer_memory's dependencies Signed-off-by: xiaguan <751080330@qq.com> * chore: use hakari to gen better dependencies Signed-off-by: xiaguan <751080330@qq.com> --------- Signed-off-by: xiaguan <751080330@qq.com>
* chore: update license Signed-off-by: MrCroxx <mrcroxx@outlook.com> * chore: fix license checker Signed-off-by: MrCroxx <mrcroxx@outlook.com> * chore: update license header Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* Add S3Fifo eviction for memory * fix: refine s3fifo, fix some bugs Signed-off-by: MrCroxx <mrcroxx@outlook.com> * fix: fix license Signed-off-by: MrCroxx <mrcroxx@outlook.com> * refactor: expose s3fifo, fix hakari, add s3fifo fuzzy test Signed-off-by: MrCroxx <mrcroxx@outlook.com> * bench: add s3fifo to hit ratio bench Signed-off-by: MrCroxx <mrcroxx@outlook.com> * test: add s3fifo uts Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com> Co-authored-by: MrCroxx <mrcroxx@outlook.com>
…#307) * chore: bump foyer-memory to 0.1.3 Signed-off-by: MrCroxx <mrcroxx@outlook.com> * chore: bump foyer-intrusive to 0.3.1 Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
…er-rs#314) Signed-off-by: MrCroxx <mrcroxx@outlook.com>
…rs#315) Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* refactor: remove usage of unstable features Signed-off-by: MrCroxx <mrcroxx@outlook.com> * refactor: some more Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
…er-rs#317) * refactor: use crate allocator_api2 to make foyer build on stable Signed-off-by: MrCroxx <mrcroxx@outlook.com> * fix: use stable pipeline for ci tests, use nightly for sanitizer Signed-off-by: MrCroxx <mrcroxx@outlook.com> * fix: update ci prefix key Signed-off-by: MrCroxx <mrcroxx@outlook.com> * fix: try fix ci Signed-off-by: MrCroxx <mrcroxx@outlook.com> * fix: update ci nightly version Signed-off-by: MrCroxx <mrcroxx@outlook.com> * chore: try resolve github issue Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* test: run CI on both linux and macos Signed-off-by: MrCroxx <mrcroxx@outlook.com> * fix: fix build on macos Signed-off-by: MrCroxx <mrcroxx@outlook.com> * fix: try fix ci run on targets Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* doc: update README and add a simple example Signed-off-by: MrCroxx <mrcroxx@outlook.com> * chore: update Cargo.toml Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
* chore: fix ci coverage Signed-off-by: MrCroxx <mrcroxx@outlook.com> * chore: fix check Signed-off-by: MrCroxx <mrcroxx@outlook.com> --------- Signed-off-by: MrCroxx <mrcroxx@outlook.com>
// Warmup | ||
for _ in 0..WARMUP_LOOPS { | ||
let s = rand_string(thread_rng().gen_range(0..100)); | ||
let _ = (t.f2)(&s); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason to add a warmup loop for this case? 👀
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When the iteration number equals 10,000, there is significant performance variability on my machine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With count the random generation or not? I think the variability may come from that. 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With it.
Signed-off-by: MrCroxx <mrcroxx@outlook.com>
eecb910
to
c247346
Compare
Signed-off-by: xiaguan <751080330@qq.com>
c247346
to
41b6e07
Compare
What's changed and what's your intention?
Just a little bit enhancement for the bench.
Checklist
make all
(ormake fast
instead if the old tests are not modified) in my local environment.Related issues or PRs (optional)