[libcxx-commits] [libcxx] [libc++] Implement single element vector::insert in terms of emplace (PR #210284)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Mon Aug 10 07:46:50 PDT 2026


================
@@ -398,6 +494,26 @@ void sequence_container_benchmarks(std::string container) {
           st.ResumeTiming();
         }
       });
+      bench("emplace_back() (many elements)" + tostr(gen), [gen](auto& st) {
+        auto const size = st.range(0);
+        std::vector<ValueType> in;
+        std::generate_n(std::back_inserter(in), size, gen);
+        DoNotOptimizeData(in);
+
+        Container c;
+        DoNotOptimizeData(c);
+        while (st.KeepRunningBatch(size)) {
+          for (int i = 0; i != size; ++i) {
+            c.emplace_back(in[i]);
+          }
+          DoNotOptimizeData(c);
+
+          st.PauseTiming();
+          c.clear();
----------------
ldionne wrote:

```suggestion
          c = Container();
```

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


More information about the libcxx-commits mailing list