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

Jordan Soyke via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 30 14:10:00 PST 2018


jsoyke updated this revision to Diff 176202.
jsoyke added a comment.

Switching to version of optimized function that doesn't include small-object-optimization for small non-trivial objects.

This seems to perform better in the new benchmark I added:

Benchmark                              Time             CPU      Time Old      Time New       CPU Old       CPU New
-------------------------------------------------------------------------------------------------------------------

BM_MixedFunctorTypes                -0.3794         -0.3794         19661         12202         19660         12202


Repository:
  rCXX libc++

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

https://reviews.llvm.org/D55045

Files:
  benchmarks/function.bench.cpp
  include/__config
  include/functional
  test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D55045.176202.patch
Type: text/x-patch
Size: 17937 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181130/4b5c1d10/attachment.bin>


More information about the llvm-commits mailing list