[libcxx-commits] [libcxx] f8e2588 - [libc++] Include sizes in string benchmark names (#210795)
via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Jul 21 04:21:27 PDT 2026
Author: Louis Dionne
Date: 2026-07-21T07:21:22-04:00
New Revision: f8e258866980da486756e241016dd33ae68450be
URL: https://github.com/llvm/llvm-project/commit/f8e258866980da486756e241016dd33ae68450be
DIFF: https://github.com/llvm/llvm-project/commit/f8e258866980da486756e241016dd33ae68450be.diff
LOG: [libc++] Include sizes in string benchmark names (#210795)
Otherwise we'd have duplicate benchmark names.
Added:
Modified:
libcxx/test/benchmarks/containers/string.bench.cpp
Removed:
################################################################################
diff --git a/libcxx/test/benchmarks/containers/string.bench.cpp b/libcxx/test/benchmarks/containers/string.bench.cpp
index e6cc60304eb60..776ee5f58b7e2 100644
--- a/libcxx/test/benchmarks/containers/string.bench.cpp
+++ b/libcxx/test/benchmarks/containers/string.bench.cpp
@@ -184,16 +184,20 @@ int main(int argc, char** argv) {
};
bench("std::basic_string::operator=(const value_type*) (opaque)",
- std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::true_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::true_type{}),
+ [](auto bm) { bm->Arg(small_size); }); // for naming
bench("std::basic_string::operator=(const value_type*) (opaque)",
- std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::true_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::true_type{}),
+ [](auto bm) { bm->Arg(large_size); }); // for naming
bench("std::basic_string::operator=(const value_type*) (transparent)",
- std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::false_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::false_type{}),
+ [](auto bm) { bm->Arg(small_size); }); // for naming
bench("std::basic_string::operator=(const value_type*) (transparent)",
- std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::false_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::false_type{}),
+ [](auto bm) { bm->Arg(large_size); }); // for naming
}
// [string.capacity]
@@ -352,16 +356,20 @@ int main(int argc, char** argv) {
};
bench("std::basic_string == const CharT* (opaque)",
- std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::true_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::true_type{}),
+ [](auto bm) { bm->Arg(small_size); }); // for naming
bench("std::basic_string == const CharT* (opaque)",
- std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::true_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::true_type{}),
+ [](auto bm) { bm->Arg(large_size); }); // for naming
bench("std::basic_string == const CharT* (transparent)",
- std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::false_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::false_type{}),
+ [](auto bm) { bm->Arg(small_size); }); // for naming
bench("std::basic_string == const CharT* (transparent)",
- std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::false_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::false_type{}),
+ [](auto bm) { bm->Arg(large_size); }); // for naming
}
{
@@ -395,16 +403,20 @@ int main(int argc, char** argv) {
};
bench("std::basic_string::compare(const CharT*) (opaque)",
- std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::true_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::true_type{}),
+ [](auto bm) { bm->Arg(small_size); }); // for naming
bench("std::basic_string::compare(const CharT*) (opaque)",
- std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::true_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::true_type{}),
+ [](auto bm) { bm->Arg(large_size); }); // for naming
bench("std::basic_string::compare(const CharT*) (transparent)",
- std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::false_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::false_type{}),
+ [](auto bm) { bm->Arg(small_size); }); // for naming
bench("std::basic_string::compare(const CharT*) (transparent)",
- std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::false_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::false_type{}),
+ [](auto bm) { bm->Arg(large_size); }); // for naming
}
// [string.compare]
@@ -433,16 +445,20 @@ int main(int argc, char** argv) {
};
bench("std::basic_string == std::basic_string (opaque)",
- std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::true_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::true_type{}),
+ [](auto bm) { bm->Arg(small_size); }); // for naming
bench("std::basic_string == std::basic_string (opaque)",
- std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::true_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::true_type{}),
+ [](auto bm) { bm->Arg(large_size); }); // for naming
bench("std::basic_string == std::basic_string (transparent)",
- std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::false_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::false_type{}),
+ [](auto bm) { bm->Arg(small_size); }); // for naming
bench("std::basic_string == std::basic_string (transparent)",
- std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::false_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::false_type{}),
+ [](auto bm) { bm->Arg(large_size); }); // for naming
}
{
@@ -470,16 +486,20 @@ int main(int argc, char** argv) {
// These also effectively cover operator<, since operator< is just forwarding to compare.
bench("std::basic_string::compare(const std::basic_string&) (opaque)",
- std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::true_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::true_type{}),
+ [](auto bm) { bm->Arg(small_size); }); // for naming
bench("std::basic_string::compare(const std::basic_string&) (opaque)",
- std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::true_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::true_type{}),
+ [](auto bm) { bm->Arg(large_size); }); // for naming
bench("std::basic_string::compare(const std::basic_string&) (transparent)",
- std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::false_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, small_size>{}, std::false_type{}),
+ [](auto bm) { bm->Arg(small_size); }); // for naming
bench("std::basic_string::compare(const std::basic_string&) (transparent)",
- std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::false_type{}));
+ std::bind_front(bench_impl, std::integral_constant<size_t, large_size>{}, std::false_type{}),
+ [](auto bm) { bm->Arg(large_size); }); // for naming
}
benchmark::Initialize(&argc, argv);
More information about the libcxx-commits
mailing list