diff options
author | Craig Tiller <ctiller@google.com> | 2017-02-13 12:39:12 -0800 |
---|---|---|
committer | Craig Tiller <ctiller@google.com> | 2017-02-13 12:39:12 -0800 |
commit | 96f8728b06740dd6b63ab463319b4795209dbec4 (patch) | |
tree | 3ac5b837a31d0d44e1b220b10bffa491f4ddd78d /test/cpp/microbenchmarks/bm_closure.cc | |
parent | b3f34b6c2b24cbe3deac6c4efef0978fc9dc7c73 (diff) |
Add a comparison benchmark of acquiring a mutex
Diffstat (limited to 'test/cpp/microbenchmarks/bm_closure.cc')
-rw-r--r-- | test/cpp/microbenchmarks/bm_closure.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/cpp/microbenchmarks/bm_closure.cc b/test/cpp/microbenchmarks/bm_closure.cc index de354410e5..dac7d9c677 100644 --- a/test/cpp/microbenchmarks/bm_closure.cc +++ b/test/cpp/microbenchmarks/bm_closure.cc @@ -170,6 +170,20 @@ static void BM_ClosureSched3OnExecCtx(benchmark::State& state) { } BENCHMARK(BM_ClosureSched3OnExecCtx); +static void BM_AcquireMutex(benchmark::State& state) { + // for comparison with the combiner stuff below + gpr_mu mu; + gpr_mu_init(&mu); + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + while (state.KeepRunning()) { + gpr_mu_lock(&mu); + DoNothing(&exec_ctx, NULL, GRPC_ERROR_NONE); + gpr_mu_unlock(&mu); + } + grpc_exec_ctx_finish(&exec_ctx); +} +BENCHMARK(BM_AcquireMutex); + static void BM_ClosureSchedOnCombiner(benchmark::State& state) { grpc_combiner* combiner = grpc_combiner_create(NULL); grpc_closure c; |