[all-commits] [llvm/llvm-project] 7ba7d7: [libc++] Make the associative container query benc...

Nikolas Klauser via All-commits all-commits at lists.llvm.org
Fri Mar 13 06:48:30 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7ba7d76c8614b0a8d8220816b3c8c83c2510b3c9
      https://github.com/llvm/llvm-project/commit/7ba7d76c8614b0a8d8220816b3c8c83c2510b3c9
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-03-13 (Fri, 13 Mar 2026)

  Changed paths:
    M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h

  Log Message:
  -----------
  [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.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list