[libcxx-commits] [PATCH] D80588: [libc++] Optimize vector push_back to avoid continuous load and store of end pointer

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Sep 13 15:21:36 PDT 2023


ldionne updated this revision to Diff 556726.
ldionne retitled this revision from "Optimize vector push_back to avoid continuous load and store of end pointer." to "[libc++] Optimize vector push_back to avoid continuous load and store of end pointer".
ldionne edited the summary of this revision.
ldionne added a comment.

Rebase and change a few things in the patch. We're still getting a pretty awesome speedup:

  ----------------------------------------------------------------------
  Benchmark                            Time             CPU   Iterations
  ----------------------------------------------------------------------
  BM_Pushback/vector_int/1024       2.07 ns         2.07 ns    337961984    BEFORE
  BM_Pushback/vector_int/1024      0.549 ns        0.549 ns   1000000512    AFTER


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D80588/new/

https://reviews.llvm.org/D80588

Files:
  libcxx/benchmarks/ContainerBenchmarks.h
  libcxx/benchmarks/vector_operations.bench.cpp
  libcxx/include/vector

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80588.556726.patch
Type: text/x-patch
Size: 4444 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230913/542dbc66/attachment.bin>


More information about the libcxx-commits mailing list