[PATCH] D44823: [libcxx] Improving std::vector<char> and std::deque<char> perfomance

Danila Kutenin via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed May 27 14:46:45 PDT 2020


danlark marked an inline comment as done.
danlark added inline comments.


================
Comment at: libcxx/trunk/include/__split_buffer:201
     __alloc_rr& __a = this->__alloc();
+    pointer __to_be_end = this->__end_;
     do
----------------
hiraditya wrote:
> danlark wrote:
> > lichray wrote:
> > > mclow.lists wrote:
> > > > I have been asked specifically by the optimizer folks to NOT do things like this in libc++, but rather to file bugs against the optimizer.
> > > > 
> > > > And I have done so for this exact case:  https://bugs.llvm.org/show_bug.cgi?id=35637
> > > From the thread I didn't see that the compiler side asked you not to do so.
> > > 
> > > And I disagree with the view.  libc++ shouldn't *wait* for compilers, because we don't dictate users' compiler choices.  This change doesn't make libc++ worse to coming compilers, and makes libc++ better on existing compilers, so what benefit we get by not approving this?
> > So, what is the status? Are we waiting for the compiler code-gen fix?
> > 
> > At Yandex we are using patched version like half a year or more.
> > 
> > https://github.com/catboost/catboost/blob/master/contrib/libs/cxxsupp/libcxx/include/vector#L995
> It would be great to get this patch in. Waiting for compiler for this optimization seems overkill.
It was separately submitted by the libcxx mainterner in July 2019 --  https://reviews.llvm.org/rL367183


Repository:
  rCXX libc++

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

https://reviews.llvm.org/D44823





More information about the cfe-commits mailing list