[libcxx-commits] [libcxx] [libc++] Remove unnecessary container constructions in setup code (PR #216141)

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Fri Aug 14 00:49:05 PDT 2026


================
@@ -477,31 +477,32 @@ void associative_container_benchmarks(std::string container) {
   }
 
   auto insert_iter_iter_bench = [=](bool bench_end_iter, auto& st) {
-    const std::size_t size = st.range(0);
-    std::vector<Value> in  = make_value_types(generate_unique_keys(size + (size / 10)));
-    auto skip_start        = bench_end_iter ? size : size / 2;
+    const std::size_t size   = st.range(0);
+    std::vector<Value> large = make_value_types(generate_unique_keys(size + (size / 10)));
+    auto skip_start          = bench_end_iter ? size : size / 2;
 
     std::vector<Value> small;
     small.reserve(size / 10);
     { // Split the range
       std::vector<Value> tmp;
       tmp.reserve(size);
-      std::copy_n(in.begin(), skip_start, std::back_inserter(tmp));
-      std::copy_n(in.begin() + skip_start, size / 10, std::back_inserter(small));
-      std::copy(in.begin() + skip_start + size / 10, in.end(), std::back_inserter(tmp));
+      std::copy_n(large.begin(), skip_start, std::back_inserter(tmp));
+      std::copy_n(large.begin() + skip_start, size / 10, std::back_inserter(small));
+      std::copy(large.begin() + skip_start + size / 10, large.end(), std::back_inserter(tmp));
 
-      in = std::move(tmp);
+      large = std::move(tmp);
     }
 
     Container c(small.begin(), small.end());
----------------
philnik777 wrote:

Can we just `insert` into the container directly?

https://github.com/llvm/llvm-project/pull/216141


More information about the libcxx-commits mailing list