[all-commits] [llvm/llvm-project] 1d319d: [libc++] Implement generic associative container b...
Louis Dionne via All-commits
all-commits at lists.llvm.org
Thu Feb 6 13:09:18 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 1d319dfe7d1ea39354ff61c5568bfecad3ce3d15
https://github.com/llvm/llvm-project/commit/1d319dfe7d1ea39354ff61c5568bfecad3ce3d15
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-06 (Thu, 06 Feb 2025)
Changed paths:
M libcxx/test/benchmarks/GenerateInput.h
A libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
A libcxx/test/benchmarks/containers/associative/flat_map.bench.cpp
A libcxx/test/benchmarks/containers/associative/flat_multimap.bench.cpp
A libcxx/test/benchmarks/containers/associative/map.bench.cpp
A libcxx/test/benchmarks/containers/associative/multimap.bench.cpp
A libcxx/test/benchmarks/containers/associative/multiset.bench.cpp
A libcxx/test/benchmarks/containers/associative/set.bench.cpp
A libcxx/test/benchmarks/containers/associative/unordered_map.bench.cpp
A libcxx/test/benchmarks/containers/associative/unordered_multimap.bench.cpp
A libcxx/test/benchmarks/containers/associative/unordered_multiset.bench.cpp
A libcxx/test/benchmarks/containers/associative/unordered_set.bench.cpp
R libcxx/test/benchmarks/containers/map.bench.cpp
R libcxx/test/benchmarks/containers/ordered_set.bench.cpp
R libcxx/test/benchmarks/containers/unordered_set.bench.cpp
Log Message:
-----------
[libc++] Implement generic associative container benchmarks (#123663)
This patch implements generic associative container benchmarks for
containers with unique keys. In doing so, it replaces the existing
std::map benchmarks which were based on the cartesian product
infrastructure and were too slow to execute.
These new benchmarks aim to strike a balance between exhaustive coverage
of all operations in the most interesting case, while executing fairly
rapidly (~40s on my machine).
This bumps the requirement for the map benchmarks from C++17 to C++20
because the common header that provides associative container benchmarks
requires support for C++20 concepts.
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