llvm-project
7ba7d76c - [libc++] Make the associative container query benchmarks more representative (#183036)

Commit
35 days ago
[libc++] Make the associative container query benchmarks more representative (#183036) Currently the query benchmarks are training the branch predictor incredibly well, which isn't representative of the real world. This change causes the branch misses to go from <1% to ~50% with the current implementation of `__tree::__find_end`. This patch also removes the `non-existent` benchmarks, since it'd be non-trivial to write a representative benchmark for that case, and the benchmark would be relatively low value. We're already searching to leaf nodes ~50% of the time (since half the nodes are leaves) with the current benchmark. So we'd only additionally cover a relatively trivial failure branch that is only taken once per function call. The loop is already covered through benchmarking with keys existing in the container.
Author
Parents
Loading