aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/cpp/microbenchmarks/bm_closure.cc
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2017-02-13 12:39:12 -0800
committerGravatar Craig Tiller <ctiller@google.com>2017-02-13 12:39:12 -0800
commit96f8728b06740dd6b63ab463319b4795209dbec4 (patch)
tree3ac5b837a31d0d44e1b220b10bffa491f4ddd78d /test/cpp/microbenchmarks/bm_closure.cc
parentb3f34b6c2b24cbe3deac6c4efef0978fc9dc7c73 (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.cc14
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;