[PATCH] D55045: Add a version of std::function that includes a few optimizations.

Eric Fiselier via Phabricator reviews at reviews.llvm.org
Thu Nov 29 16:08:18 PST 2018

EricWF added a comment.

In D55045#1312924 <https://reviews.llvm.org/D55045#1312924>, @ldionne wrote:

> I'd like to see benchmarking results that show the benefit of this approach.

The benchmarks are already present. We should add the results to this review to make it easier to view, but it's also possible to verify yourself.

> Also, it's not clear to me that trying to "merge" the two implementations is the right choice. Maybe we want a straight up different implementation (i.e. replace `std::function` as a whole instead of having many `#ifdef`s in the existing `std::function`).

Well we have to continue supporting the old ABI, and I don't want yet another std::function to maintain; maintaining 4 separate versions is already a pain (the C++11 one, and three C++03 versions).
I much prefer having the two sets of code interleaved, so when `std::function::foo` needs a change or a bugfix, both sets of code are next to each other.

  rCXX libc++



More information about the libcxx-commits mailing list