Skip to content

Commit e8f6180

Browse files
cjdbslackito
andauthored
[libcxx] adds size-based __split_buffer representation to unstable ABI (#139632)
**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]>
1 parent 03e3ce8 commit e8f6180

File tree

6 files changed

+805
-299
lines changed

6 files changed

+805
-299
lines changed

0 commit comments

Comments
 (0)