I've put some work into the Google Benchmark library in order to make it easier to benchmark libc++. These changes have already been upstreamed into Google Benchmark and this patch applies the changes to the in-tree version. The main improvement in the addition of a 'compare_bench.py' script which makes it very easy to compare benchmarks. For example to compare the native STL to libc++ you would run: `$ compare_bench.py ./util_smartptr.native.out ./util_smartptr.libcxx.out` And the output would look like: RUNNING: ./util_smartptr.native.out Benchmark Time CPU Iterations ---------------------------------------------------------------- BM_SharedPtrCreateDestroy 62 ns 62 ns 10937500 BM_SharedPtrIncDecRef 31 ns 31 ns 23972603 BM_WeakPtrIncDecRef 28 ns 28 ns 23648649 RUNNING: ./util_smartptr.libcxx.out Benchmark Time CPU Iterations ---------------------------------------------------------------- BM_SharedPtrCreateDestroy 46 ns 46 ns 14957265 BM_SharedPtrIncDecRef 31 ns 31 ns 22435897 BM_WeakPtrIncDecRef 34 ns 34 ns 21084337 Comparing ./util_smartptr.native.out to ./util_smartptr.libcxx.out Benchmark Time CPU ----------------------------------------------------- BM_SharedPtrCreateDestroy -0.26 -0.26 BM_SharedPtrIncDecRef +0.00 +0.00 BM_WeakPtrIncDecRef +0.21 +0.21 llvm-svn: 278147
46 lines
901 B
JSON
46 lines
901 B
JSON
{
|
|
"context": {
|
|
"date": "2016-08-02 17:44:46",
|
|
"num_cpus": 4,
|
|
"mhz_per_cpu": 4228,
|
|
"cpu_scaling_enabled": false,
|
|
"library_build_type": "release"
|
|
},
|
|
"benchmarks": [
|
|
{
|
|
"name": "BM_SameTimes",
|
|
"iterations": 1000,
|
|
"real_time": 10,
|
|
"cpu_time": 10,
|
|
"time_unit": "ns"
|
|
},
|
|
{
|
|
"name": "BM_2xFaster",
|
|
"iterations": 1000,
|
|
"real_time": 25,
|
|
"cpu_time": 25,
|
|
"time_unit": "ns"
|
|
},
|
|
{
|
|
"name": "BM_2xSlower",
|
|
"iterations": 20833333,
|
|
"real_time": 100,
|
|
"cpu_time": 100,
|
|
"time_unit": "ns"
|
|
},
|
|
{
|
|
"name": "BM_10PercentFaster",
|
|
"iterations": 1000,
|
|
"real_time": 90,
|
|
"cpu_time": 90,
|
|
"time_unit": "ns"
|
|
},
|
|
{
|
|
"name": "BM_10PercentSlower",
|
|
"iterations": 1000,
|
|
"real_time": 110,
|
|
"cpu_time": 110,
|
|
"time_unit": "ns"
|
|
}
|
|
]
|
|
} |