Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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.

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

Successfully merging this pull request may close these issues.

2 participants