hashbrown icon indicating copy to clipboard operation
hashbrown copied to clipboard

Introduce Swiss Cheese benchmark

Open matthieu-m opened this issue 1 year ago • 3 comments

  • 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.

matthieu-m avatar Feb 22 '24 13:02 matthieu-m

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

Amanieu avatar Mar 19 '24 08:03 Amanieu

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.

Amanieu avatar Mar 19 '24 09:03 Amanieu

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.

matthieu-m avatar Mar 19 '24 16:03 matthieu-m