[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 Jul 18 04:31:54 PDT 2018


danlark added inline comments.
Herald added a subscriber: ldionne.


================
Comment at: libcxx/trunk/include/__split_buffer:201
     __alloc_rr& __a = this->__alloc();
+    pointer __to_be_end = this->__end_;
     do
----------------
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


Repository:
  rCXX libc++

https://reviews.llvm.org/D44823





More information about the cfe-commits mailing list