forked from boostorg/function
6f8ec5c8c5565b56dca38d9e7d2393ea0d963db2
where Boost.Function uses a bit in the vtable pointer to indicate when the target function object has a trivial copy constructor, trivial destructor, and fits within the small object buffer. In this case, we just copy the bits of the function object rather than performing an indirect call to the manager. This results in a 60% speedup on a micro-benchmark that copies and calls such function objects repeatedly. [SVN r51743]
Description
Boost.org function module
Languages
C++
96.4%
CMake
1.9%
Perl
1.3%
HTML
0.4%