Benchmark Time CPU Time Old Time New CPU Old CPU New -------------------------------------------------------------------------------------------------------------------------------------------------------- BM_ConstructAndDestroy_Null_Opaque +0.7237 +0.7237 0 1 0 1 BM_ConstructAndDestroy_FuncPtr_Opaque -0.0461 -0.0461 1 1 1 1 BM_ConstructAndDestroy_MemFuncPtr_Opaque -0.1570 -0.1571 2 1 2 1 BM_ConstructAndDestroy_MemPtr_Opaque -0.1424 -0.1424 2 1 2 1 BM_ConstructAndDestroy_SmallTrivialFunctor_Opaque -0.4669 -0.4669 2 1 2 1 BM_ConstructAndDestroy_SmallNonTrivialFunctor_Opaque +0.0280 +0.0280 17 17 17 17 BM_ConstructAndDestroy_LargeTrivialFunctor_Opaque -0.0232 -0.0232 18 17 18 17 BM_ConstructAndDestroy_LargeNonTrivialFunctor_Opaque -0.0060 -0.0060 17 17 17 17 BM_ConstructAndDestroy_Null_Transparent +0.1190 +0.1325 0 0 0 0 BM_ConstructAndDestroy_FuncPtr_Transparent -0.0114 -0.0033 0 0 0 0 BM_ConstructAndDestroy_MemFuncPtr_Transparent -0.0161 -0.0242 0 0 0 0 BM_ConstructAndDestroy_MemPtr_Transparent -0.0146 -0.0163 0 0 0 0 BM_ConstructAndDestroy_SmallTrivialFunctor_Transparent +0.0000 -0.0098 0 0 0 0 BM_ConstructAndDestroy_SmallNonTrivialFunctor_Transparent -0.0176 -0.0272 0 0 0 0 BM_ConstructAndDestroy_LargeTrivialFunctor_Transparent -0.0256 -0.0147 0 0 0 0 BM_ConstructAndDestroy_LargeNonTrivialFunctor_Transparent -0.0129 -0.0163 0 0 0 0 BM_Copy_Null +0.0377 +0.0377 1 1 1 1 BM_Copy_FuncPtr -0.5595 -0.5595 3 1 3 1 BM_Copy_MemFuncPtr -0.4908 -0.4908 3 1 3 1 BM_Copy_MemPtr -0.6363 -0.6363 2 1 2 1 BM_Copy_SmallTrivialFunctor -0.4539 -0.4539 3 1 3 1 BM_Copy_SmallNonTrivialFunctor -0.0060 -0.0060 18 18 18 18 BM_Copy_LargeTrivialFunctor -0.0259 -0.0259 19 18 19 18 BM_Copy_LargeNonTrivialFunctor -0.0103 -0.0103 19 18 19 18 BM_Move_Null +0.1139 +0.1139 2 2 2 2 BM_Move_FuncPtr -0.4422 -0.4422 3 2 3 2 BM_Move_MemFuncPtr -0.4418 -0.4418 3 2 3 2 BM_Move_MemPtr -0.3910 -0.3910 3 2 3 2 BM_Move_SmallTrivialFunctor -0.3899 -0.3899 3 2 3 2 BM_Move_SmallNonTrivialFunctor +0.1072 +0.1071 2 2 2 2 BM_Move_LargeTrivialFunctor +0.1255 +0.1255 2 2 2 2 BM_Move_LargeNonTrivialFunctor +0.1095 +0.1095 2 2 2 2 BM_Swap_Null_Null +1.1678 +1.1678 1 3 1 3 BM_Swap_Null_FuncPtr -0.3275 -0.3275 4 3 4 3 BM_Swap_Null_MemFuncPtr -0.3255 -0.3255 4 3 4 3 BM_Swap_Null_MemPtr -0.3002 -0.3002 4 3 4 3 BM_Swap_Null_SmallTrivialFunctor -0.2496 -0.2496 4 3 4 3 BM_Swap_Null_SmallNonTrivialFunctor +0.8421 +0.8421 2 3 2 3 BM_Swap_Null_LargeTrivialFunctor +0.8389 +0.8389 2 3 2 3 BM_Swap_Null_LargeNonTrivialFunctor +1.1645 +1.1645 1 3 1 3 BM_Swap_FuncPtr_FuncPtr -0.6400 -0.6400 8 3 8 3 BM_Swap_FuncPtr_MemFuncPtr -0.6482 -0.6482 8 3 8 3 BM_Swap_FuncPtr_MemPtr -0.6425 -0.6425 8 3 8 3 BM_Swap_FuncPtr_SmallTrivialFunctor -0.6215 -0.6215 8 3 8 3 BM_Swap_FuncPtr_SmallNonTrivialFunctor -0.3296 -0.3296 4 3 4 3 BM_Swap_FuncPtr_LargeTrivialFunctor -0.3439 -0.3440 5 3 5 3 BM_Swap_FuncPtr_LargeNonTrivialFunctor -0.3279 -0.3279 4 3 4 3 BM_Swap_MemFuncPtr_MemFuncPtr -0.6637 -0.6637 9 3 9 3 BM_Swap_MemFuncPtr_MemPtr -0.6327 -0.6327 8 3 8 3 BM_Swap_MemFuncPtr_SmallTrivialFunctor -0.6323 -0.6323 8 3 8 3 BM_Swap_MemFuncPtr_SmallNonTrivialFunctor -0.3143 -0.3143 4 3 4 3 BM_Swap_MemFuncPtr_LargeTrivialFunctor -0.2809 -0.2809 4 3 4 3 BM_Swap_MemFuncPtr_LargeNonTrivialFunctor -0.2924 -0.2924 4 3 4 3 BM_Swap_MemPtr_MemPtr -0.6147 -0.6147 8 3 8 3 BM_Swap_MemPtr_SmallTrivialFunctor -0.6071 -0.6071 8 3 8 3 BM_Swap_MemPtr_SmallNonTrivialFunctor -0.3047 -0.3047 4 3 4 3 BM_Swap_MemPtr_LargeTrivialFunctor -0.3401 -0.3401 4 3 4 3 BM_Swap_MemPtr_LargeNonTrivialFunctor -0.3058 -0.3058 4 3 4 3 BM_Swap_SmallTrivialFunctor_SmallTrivialFunctor -0.5927 -0.5927 7 3 7 3 BM_Swap_SmallTrivialFunctor_SmallNonTrivialFunctor -0.2951 -0.2951 4 3 4 3 BM_Swap_SmallTrivialFunctor_LargeTrivialFunctor -0.2954 -0.2954 4 3 4 3 BM_Swap_SmallTrivialFunctor_LargeNonTrivialFunctor -0.2556 -0.2556 4 3 4 3 BM_Swap_SmallNonTrivialFunctor_SmallNonTrivialFunctor +1.1700 +1.1700 1 3 1 3 BM_Swap_SmallNonTrivialFunctor_LargeTrivialFunctor +0.8467 +0.8467 2 3 2 3 BM_Swap_SmallNonTrivialFunctor_LargeNonTrivialFunctor +0.8272 +0.8272 2 3 2 3 BM_Swap_LargeTrivialFunctor_LargeTrivialFunctor +1.1628 +1.1628 1 3 1 3 BM_Swap_LargeTrivialFunctor_LargeNonTrivialFunctor +0.8464 +0.8464 2 3 2 3 BM_Swap_LargeNonTrivialFunctor_LargeNonTrivialFunctor +0.8144 +0.8144 2 3 2 3 BM_OperatorBool_Null -0.0441 -0.0441 0 0 0 0 BM_OperatorBool_FuncPtr -0.0417 -0.0417 0 0 0 0 BM_OperatorBool_MemFuncPtr -0.0445 -0.0445 0 0 0 0 BM_OperatorBool_MemPtr +0.9360 +0.9360 0 0 0 0 BM_OperatorBool_SmallTrivialFunctor +0.9117 +0.9117 0 0 0 0 BM_OperatorBool_SmallNonTrivialFunctor -0.0425 -0.0426 0 0 0 0 BM_OperatorBool_LargeTrivialFunctor -0.0404 -0.0404 0 0 0 0 BM_OperatorBool_LargeNonTrivialFunctor -0.0411 -0.0411 0 0 0 0 BM_Invoke_FuncPtr -0.0004 -0.0004 2 2 2 2 BM_Invoke_MemFuncPtr -0.0992 -0.0992 2 2 2 2 BM_Invoke_MemPtr -0.1672 -0.1672 1 1 1 1 BM_Invoke_SmallTrivialFunctor +0.0017 +0.0017 1 1 1 1 BM_Invoke_SmallNonTrivialFunctor -0.0009 -0.0009 1 1 1 1 BM_Invoke_LargeTrivialFunctor +0.0011 +0.0010 1 1 1 1 BM_Invoke_LargeNonTrivialFunctor +0.0027 +0.0027 1 1 1 1 BM_InvokeInlined_FuncPtr +0.2377 +0.2930 0 0 0 0 BM_InvokeInlined_MemFuncPtr +0.0267 +0.0116 0 0 0 0 BM_InvokeInlined_MemPtr -0.0016 -0.0097 0 0 0 0 BM_InvokeInlined_SmallTrivialFunctor -0.0016 -0.0033 0 0 0 0 BM_InvokeInlined_SmallNonTrivialFunctor +0.0016 -0.0016 0 0 0 0 BM_InvokeInlined_LargeTrivialFunctor -0.0113 -0.0065 0 0 0 0 BM_InvokeInlined_LargeNonTrivialFunctor +0.0016 +0.0066 0 0 0 0