Commit e8f6180
[libcxx] adds size-based
**tl;dr** We can significantly improve the runtime performance of
`std::vector` by changing its representation from three pointers to one
pointer and two integers. This document explains the details of this
change, along with the justifications for making it. See the [RFC] for
more information.
`vector` depends on `__split_buffer` for inserting elements. Changing
`__split_buffer` to match `vector`'s representation simplifies the
model, as it eliminates the need to convert between two different
representations of a contiguous buffer in the same configuration of
libc++.
[RFC]: https://discourse.llvm.org/t/adding-a-size-based-vector-to-libc-s-unstable-abi/86306
---------
Co-authored-by: Jorge Gorbe Moya <[email protected]>__split_buffer representation to unstable ABI (#139632)1 parent 03e3ce8 commit e8f6180
File tree
6 files changed
+805
-299
lines changed- libcxx
- include
- __vector
- test/libcxx/type_traits
- lldb/examples/synthetic
6 files changed
+805
-299
lines changed
0 commit comments