Skip to content
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

Introduce Swiss Cheese benchmark #507

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

matthieu-m
Copy link

  • Changes:
  • Introduce new swiss_cheese.rs benchmark.
  • Motivation:

The current design of RawTable leaves tombstones behind to indicate deleted elements, going from tightly packed elements to a much more sparse design as more and more elements are deleted -- until more elements are inserted again, at least.

This creates a "swiss cheese" situation, with a decreasing elements density over time. This situation is expected to lead to a higher number of cache misses as this density decreases.

The swiss_cheese.rs benchmark suite aims at measuring the impact of this effect on performance.

* Changes:

- Introduce new swiss_cheese.rs benchmark.

* Motivation:

The current design of RawTable leaves tombstones behind to indicate
deleted elements, going from tightly packed elements to a much more
sparse design as more and more elements are deleted -- until more
elements are inserted again, at least.

This creates a "swiss cheese" situation, with a decreasing elements
density over time. This situation is expected to lead to a higher number
of cache misses as this density decreases.

The swiss_cheese.rs benchmark suite aims at measuring the impact of this
effect on performance.
@Amanieu
Copy link
Member

Amanieu commented Mar 19, 2024

CI should be fixed now, can you rebase? I am curious to see what kind of results you are getting with this benchmark.

@Amanieu
Copy link
Member

Amanieu commented Mar 19, 2024

With that said, I don't think it makes sense to merge this benchmark. It is useful as an experiment, but it's less useful for measuring the actual performance of the table.

@matthieu-m
Copy link
Author

I don't think it makes much sense either.

Making a PR was the easiest to share both code and result, but it may be a bit too specific.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants