carbon-language / carbon-lang

Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)
https://github.com/carbon-language/carbon-lang/blob/trunk/README.md
Other
32.31k stars 1.48k forks source link

Collect more detailed metrics on hashtables. #4046

Closed chandlerc closed 2 weeks ago

chandlerc commented 3 weeks ago

Previously we just looked at the raw count of probed keys. Now, we compute the average and max of both the probe distance measured in the number of groups probed, and the number of probe compares measured in the compares required before finding the matching entry.

This lets us understand the relative impact of probe-distance vs. tag collisions on a given set of benchmark keys. Some of this is motivated by considering additional optimization techniques similar to those used in Boost's table and the F14 table from Facebook/Meta.