The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#) https://grpc.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

357 lines
11 KiB

//
//
// Copyright 2017 gRPC authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
//
// Test various closure related operations
#include <sstream>
#include <benchmark/benchmark.h>
#include <grpc/grpc.h>
#include "src/core/lib/gpr/spinlock.h"
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/combiner.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "test/core/util/test_config.h"
#include "test/cpp/microbenchmarks/helpers.h"
#include "test/cpp/util/test_config.h"
static void BM_NoOpExecCtx(benchmark::State& state) {
for (auto _ : state) {
grpc_core::ExecCtx exec_ctx;
}
}
BENCHMARK(BM_NoOpExecCtx);
static void BM_WellFlushed(benchmark::State& state) {
grpc_core::ExecCtx exec_ctx;
for (auto _ : state) {
grpc_core::ExecCtx::Get()->Flush();
}
}
BENCHMARK(BM_WellFlushed);
static void DoNothing(void* /*arg*/, grpc_error_handle /*error*/) {}
static void BM_ClosureInitAgainstExecCtx(benchmark::State& state) {
grpc_closure c;
for (auto _ : state) {
benchmark::DoNotOptimize(
GRPC_CLOSURE_INIT(&c, DoNothing, nullptr, grpc_schedule_on_exec_ctx));
}
}
BENCHMARK(BM_ClosureInitAgainstExecCtx);
static void BM_ClosureInitAgainstCombiner(benchmark::State& state) {
grpc_core::Combiner* combiner = grpc_combiner_create(
grpc_event_engine::experimental::CreateEventEngine());
grpc_closure c;
grpc_core::ExecCtx exec_ctx;
for (auto _ : state) {
Squashed commit of the following: commit 1547cb209ad4f6899bf10c06c34b814783fd3924 Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 13:12:55 2019 -0700 Revert some other GRPC_CLOSURE_RUN till other issues are fixed commit 3edeee7ce9a06eec8901dfe01ea45fb6f5505dbc Merge: 22b343e4fb e8f78e7a5d Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 12:26:26 2019 -0700 Merge branch 'master' into combinernew commit 22b343e4fb823e625646864454fe6ea3f9f371de Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 12:22:34 2019 -0700 Change some TCP posix closures to GRPC_CLOSURE_RUN commit 19e60dfe8f6426236c618779f569df7dfed51597 Merge: 153bdcbc97 feae38d3ab Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 17 11:56:46 2019 -0700 Merge branch 'master' into combinernew commit 153bdcbc974126dfd123b48e9bfb60e89dc3890e Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 17 11:41:14 2019 -0700 Proxy fixture fix commit c6da80bcce6fdc9bec62a6144d775382f165ba93 Merge: 6a32264cdf 98abc22f4c Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 11 17:05:18 2019 -0700 Merge branch 'master' into combinernew commit 6a32264cdf35c4b833748bdc64efd553435ce87c Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 11 17:01:55 2019 -0700 Reviewer comments commit 6bbd3a1c3c6c23ae4401020f1981ac003524aa7d Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:55:43 2019 -0700 Fallback cleanup commit aaa04526a2acf225825e218174f07a845af34546 Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:24:18 2019 -0700 Clean up commit 4266be13d554136af02d50e5f92dd95a914f9839 Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:20:05 2019 -0700 Make sure start_ping is called before finish_ping for bdp and keepalive commit 14107957aa5a17bd0a46b019cffdab41ff60b0f2 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 18:56:07 2019 -0700 chttp2 fixes commit 5643aa6cb388a508d45cd9aa6a9b65d06a009c7e Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 18:25:19 2019 -0700 Remove closure list scheduling from combiners commit c59644943084ca7c2f0b67cc4a4679901454f207 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 17:35:54 2019 -0700 ares windows fix commit 9f933903b969d290acd8fb52e57c37d820f16f34 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 17:23:11 2019 -0700 More fixes commit 3c3a7d0e9b365b086c2bec9b87c600dae05c4689 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 16:08:07 2019 -0700 Fix errors commit 56539cc448a225c4936e712d29cd9a1022320aae Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 15:22:28 2019 -0700 Everything compiles commit 714ec01e4b61972c32fd1102d9e46da9e91d70fb Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 13:44:18 2019 -0700 src compiles commit 54dcbd170d08e91b20a83cc0c9e23d01bc1e05a7 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 13:16:08 2019 -0700 chttp2_transport changes commit 7a3388b077d92b741679e834f22f4f4731394c66 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 18:33:55 2019 -0700 resource quota and lb policy commit 714e4c849fea25b2650b04c05fc9f9116c9659ca Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 17:23:04 2019 -0700 Further commit 1d17ad7d444a018dd7a0bab3c2351d25502d8a16 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 13:34:52 2019 -0700 ares ev driver windows changes commit 3110c062c5e57eb8241db7699c6638cdb68a5a88 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:47:37 2019 -0700 ares dns changes commit 0e10bc17eac160189c390e54f9c91bbc666ff697 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:24:45 2019 -0700 Add dns_resolver changes commit 4a71a911e8249dfbcf4a2c1397e3b0691265fe0b Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:08:10 2019 -0700 Add fake_resolver changes commit 8610a64ec9cc3bae10a5816e2a4800e0755bbb71 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 19:31:13 2019 -0700 Remaning one from xds_client commit 5f22055d0d3d177b8e3256e371b828abd3b88641 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 18:47:28 2019 -0700 One left from xds_client.cc commit 4b1223f8753c103760cf9a15660a6786859a607f Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 17:17:12 2019 -0700 modifications for xds.cc commit a17bbbd840f56cbc608b463fb04ebabcc8152c01 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 13:06:25 2019 -0700 grpclb.cc changes commit 3a33ed4762616397281a7d0e60e07d92439438f3 Merge: 11058748fd 3d363368ca Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 11:24:11 2019 -0700 Merge branch 'combinernew' of github.com:yashykt/grpc into combinernew commit 3d363368ca0a0779182afeda0eb3279dc951d757 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 11:18:00 2019 -0700 New combiner
5 years ago
benchmark::DoNotOptimize(
GRPC_CLOSURE_INIT(&c, DoNothing, nullptr, nullptr));
}
GRPC_COMBINER_UNREF(combiner, "finished");
}
BENCHMARK(BM_ClosureInitAgainstCombiner);
static void BM_ClosureRun(benchmark::State& state) {
grpc_closure c;
GRPC_CLOSURE_INIT(&c, DoNothing, nullptr, grpc_schedule_on_exec_ctx);
grpc_core::ExecCtx exec_ctx;
for (auto _ : state) {
grpc_core::Closure::Run(DEBUG_LOCATION, &c, absl::OkStatus());
}
}
BENCHMARK(BM_ClosureRun);
static void BM_ClosureCreateAndRun(benchmark::State& state) {
grpc_core::ExecCtx exec_ctx;
for (auto _ : state) {
grpc_core::Closure::Run(
DEBUG_LOCATION,
GRPC_CLOSURE_CREATE(DoNothing, nullptr, grpc_schedule_on_exec_ctx),
absl::OkStatus());
}
}
BENCHMARK(BM_ClosureCreateAndRun);
static void BM_ClosureInitAndRun(benchmark::State& state) {
grpc_core::ExecCtx exec_ctx;
grpc_closure c;
for (auto _ : state) {
grpc_core::Closure::Run(
DEBUG_LOCATION,
GRPC_CLOSURE_INIT(&c, DoNothing, nullptr, grpc_schedule_on_exec_ctx),
absl::OkStatus());
}
}
BENCHMARK(BM_ClosureInitAndRun);
static void BM_ClosureSchedOnExecCtx(benchmark::State& state) {
grpc_closure c;
GRPC_CLOSURE_INIT(&c, DoNothing, nullptr, grpc_schedule_on_exec_ctx);
grpc_core::ExecCtx exec_ctx;
for (auto _ : state) {
grpc_core::ExecCtx::Run(DEBUG_LOCATION, &c, absl::OkStatus());
grpc_core::ExecCtx::Get()->Flush();
}
}
BENCHMARK(BM_ClosureSchedOnExecCtx);
static void BM_ClosureSched2OnExecCtx(benchmark::State& state) {
grpc_closure c1;
grpc_closure c2;
GRPC_CLOSURE_INIT(&c1, DoNothing, nullptr, grpc_schedule_on_exec_ctx);
GRPC_CLOSURE_INIT(&c2, DoNothing, nullptr, grpc_schedule_on_exec_ctx);
grpc_core::ExecCtx exec_ctx;
for (auto _ : state) {
grpc_core::ExecCtx::Run(DEBUG_LOCATION, &c1, absl::OkStatus());
grpc_core::ExecCtx::Run(DEBUG_LOCATION, &c2, absl::OkStatus());
grpc_core::ExecCtx::Get()->Flush();
}
}
BENCHMARK(BM_ClosureSched2OnExecCtx);
static void BM_ClosureSched3OnExecCtx(benchmark::State& state) {
grpc_closure c1;
grpc_closure c2;
grpc_closure c3;
GRPC_CLOSURE_INIT(&c1, DoNothing, nullptr, grpc_schedule_on_exec_ctx);
GRPC_CLOSURE_INIT(&c2, DoNothing, nullptr, grpc_schedule_on_exec_ctx);
GRPC_CLOSURE_INIT(&c3, DoNothing, nullptr, grpc_schedule_on_exec_ctx);
grpc_core::ExecCtx exec_ctx;
for (auto _ : state) {
grpc_core::ExecCtx::Run(DEBUG_LOCATION, &c1, absl::OkStatus());
grpc_core::ExecCtx::Run(DEBUG_LOCATION, &c2, absl::OkStatus());
grpc_core::ExecCtx::Run(DEBUG_LOCATION, &c3, absl::OkStatus());
grpc_core::ExecCtx::Get()->Flush();
}
}
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_core::ExecCtx exec_ctx;
for (auto _ : state) {
gpr_mu_lock(&mu);
DoNothing(nullptr, absl::OkStatus());
gpr_mu_unlock(&mu);
}
gpr_mu_destroy(&mu);
}
BENCHMARK(BM_AcquireMutex);
static void BM_TryAcquireMutex(benchmark::State& state) {
// for comparison with the combiner stuff below
gpr_mu mu;
gpr_mu_init(&mu);
grpc_core::ExecCtx exec_ctx;
for (auto _ : state) {
if (gpr_mu_trylock(&mu)) {
DoNothing(nullptr, absl::OkStatus());
gpr_mu_unlock(&mu);
} else {
abort();
}
}
gpr_mu_destroy(&mu);
}
BENCHMARK(BM_TryAcquireMutex);
static void BM_AcquireSpinlock(benchmark::State& state) {
// for comparison with the combiner stuff below
gpr_spinlock mu = GPR_SPINLOCK_INITIALIZER;
grpc_core::ExecCtx exec_ctx;
for (auto _ : state) {
gpr_spinlock_lock(&mu);
DoNothing(nullptr, absl::OkStatus());
gpr_spinlock_unlock(&mu);
}
}
BENCHMARK(BM_AcquireSpinlock);
static void BM_TryAcquireSpinlock(benchmark::State& state) {
// for comparison with the combiner stuff below
gpr_spinlock mu = GPR_SPINLOCK_INITIALIZER;
grpc_core::ExecCtx exec_ctx;
for (auto _ : state) {
if (gpr_spinlock_trylock(&mu)) {
DoNothing(nullptr, absl::OkStatus());
gpr_spinlock_unlock(&mu);
} else {
abort();
}
}
}
BENCHMARK(BM_TryAcquireSpinlock);
static void BM_ClosureSchedOnCombiner(benchmark::State& state) {
grpc_core::Combiner* combiner = grpc_combiner_create(
grpc_event_engine::experimental::CreateEventEngine());
grpc_closure c;
Squashed commit of the following: commit 1547cb209ad4f6899bf10c06c34b814783fd3924 Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 13:12:55 2019 -0700 Revert some other GRPC_CLOSURE_RUN till other issues are fixed commit 3edeee7ce9a06eec8901dfe01ea45fb6f5505dbc Merge: 22b343e4fb e8f78e7a5d Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 12:26:26 2019 -0700 Merge branch 'master' into combinernew commit 22b343e4fb823e625646864454fe6ea3f9f371de Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 12:22:34 2019 -0700 Change some TCP posix closures to GRPC_CLOSURE_RUN commit 19e60dfe8f6426236c618779f569df7dfed51597 Merge: 153bdcbc97 feae38d3ab Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 17 11:56:46 2019 -0700 Merge branch 'master' into combinernew commit 153bdcbc974126dfd123b48e9bfb60e89dc3890e Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 17 11:41:14 2019 -0700 Proxy fixture fix commit c6da80bcce6fdc9bec62a6144d775382f165ba93 Merge: 6a32264cdf 98abc22f4c Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 11 17:05:18 2019 -0700 Merge branch 'master' into combinernew commit 6a32264cdf35c4b833748bdc64efd553435ce87c Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 11 17:01:55 2019 -0700 Reviewer comments commit 6bbd3a1c3c6c23ae4401020f1981ac003524aa7d Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:55:43 2019 -0700 Fallback cleanup commit aaa04526a2acf225825e218174f07a845af34546 Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:24:18 2019 -0700 Clean up commit 4266be13d554136af02d50e5f92dd95a914f9839 Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:20:05 2019 -0700 Make sure start_ping is called before finish_ping for bdp and keepalive commit 14107957aa5a17bd0a46b019cffdab41ff60b0f2 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 18:56:07 2019 -0700 chttp2 fixes commit 5643aa6cb388a508d45cd9aa6a9b65d06a009c7e Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 18:25:19 2019 -0700 Remove closure list scheduling from combiners commit c59644943084ca7c2f0b67cc4a4679901454f207 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 17:35:54 2019 -0700 ares windows fix commit 9f933903b969d290acd8fb52e57c37d820f16f34 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 17:23:11 2019 -0700 More fixes commit 3c3a7d0e9b365b086c2bec9b87c600dae05c4689 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 16:08:07 2019 -0700 Fix errors commit 56539cc448a225c4936e712d29cd9a1022320aae Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 15:22:28 2019 -0700 Everything compiles commit 714ec01e4b61972c32fd1102d9e46da9e91d70fb Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 13:44:18 2019 -0700 src compiles commit 54dcbd170d08e91b20a83cc0c9e23d01bc1e05a7 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 13:16:08 2019 -0700 chttp2_transport changes commit 7a3388b077d92b741679e834f22f4f4731394c66 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 18:33:55 2019 -0700 resource quota and lb policy commit 714e4c849fea25b2650b04c05fc9f9116c9659ca Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 17:23:04 2019 -0700 Further commit 1d17ad7d444a018dd7a0bab3c2351d25502d8a16 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 13:34:52 2019 -0700 ares ev driver windows changes commit 3110c062c5e57eb8241db7699c6638cdb68a5a88 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:47:37 2019 -0700 ares dns changes commit 0e10bc17eac160189c390e54f9c91bbc666ff697 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:24:45 2019 -0700 Add dns_resolver changes commit 4a71a911e8249dfbcf4a2c1397e3b0691265fe0b Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:08:10 2019 -0700 Add fake_resolver changes commit 8610a64ec9cc3bae10a5816e2a4800e0755bbb71 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 19:31:13 2019 -0700 Remaning one from xds_client commit 5f22055d0d3d177b8e3256e371b828abd3b88641 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 18:47:28 2019 -0700 One left from xds_client.cc commit 4b1223f8753c103760cf9a15660a6786859a607f Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 17:17:12 2019 -0700 modifications for xds.cc commit a17bbbd840f56cbc608b463fb04ebabcc8152c01 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 13:06:25 2019 -0700 grpclb.cc changes commit 3a33ed4762616397281a7d0e60e07d92439438f3 Merge: 11058748fd 3d363368ca Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 11:24:11 2019 -0700 Merge branch 'combinernew' of github.com:yashykt/grpc into combinernew commit 3d363368ca0a0779182afeda0eb3279dc951d757 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 11:18:00 2019 -0700 New combiner
5 years ago
GRPC_CLOSURE_INIT(&c, DoNothing, nullptr, nullptr);
grpc_core::ExecCtx exec_ctx;
for (auto _ : state) {
combiner->Run(&c, absl::OkStatus());
grpc_core::ExecCtx::Get()->Flush();
}
GRPC_COMBINER_UNREF(combiner, "finished");
}
BENCHMARK(BM_ClosureSchedOnCombiner);
static void BM_ClosureSched2OnCombiner(benchmark::State& state) {
grpc_core::Combiner* combiner = grpc_combiner_create(
grpc_event_engine::experimental::CreateEventEngine());
grpc_closure c1;
grpc_closure c2;
Squashed commit of the following: commit 1547cb209ad4f6899bf10c06c34b814783fd3924 Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 13:12:55 2019 -0700 Revert some other GRPC_CLOSURE_RUN till other issues are fixed commit 3edeee7ce9a06eec8901dfe01ea45fb6f5505dbc Merge: 22b343e4fb e8f78e7a5d Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 12:26:26 2019 -0700 Merge branch 'master' into combinernew commit 22b343e4fb823e625646864454fe6ea3f9f371de Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 12:22:34 2019 -0700 Change some TCP posix closures to GRPC_CLOSURE_RUN commit 19e60dfe8f6426236c618779f569df7dfed51597 Merge: 153bdcbc97 feae38d3ab Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 17 11:56:46 2019 -0700 Merge branch 'master' into combinernew commit 153bdcbc974126dfd123b48e9bfb60e89dc3890e Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 17 11:41:14 2019 -0700 Proxy fixture fix commit c6da80bcce6fdc9bec62a6144d775382f165ba93 Merge: 6a32264cdf 98abc22f4c Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 11 17:05:18 2019 -0700 Merge branch 'master' into combinernew commit 6a32264cdf35c4b833748bdc64efd553435ce87c Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 11 17:01:55 2019 -0700 Reviewer comments commit 6bbd3a1c3c6c23ae4401020f1981ac003524aa7d Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:55:43 2019 -0700 Fallback cleanup commit aaa04526a2acf225825e218174f07a845af34546 Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:24:18 2019 -0700 Clean up commit 4266be13d554136af02d50e5f92dd95a914f9839 Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:20:05 2019 -0700 Make sure start_ping is called before finish_ping for bdp and keepalive commit 14107957aa5a17bd0a46b019cffdab41ff60b0f2 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 18:56:07 2019 -0700 chttp2 fixes commit 5643aa6cb388a508d45cd9aa6a9b65d06a009c7e Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 18:25:19 2019 -0700 Remove closure list scheduling from combiners commit c59644943084ca7c2f0b67cc4a4679901454f207 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 17:35:54 2019 -0700 ares windows fix commit 9f933903b969d290acd8fb52e57c37d820f16f34 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 17:23:11 2019 -0700 More fixes commit 3c3a7d0e9b365b086c2bec9b87c600dae05c4689 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 16:08:07 2019 -0700 Fix errors commit 56539cc448a225c4936e712d29cd9a1022320aae Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 15:22:28 2019 -0700 Everything compiles commit 714ec01e4b61972c32fd1102d9e46da9e91d70fb Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 13:44:18 2019 -0700 src compiles commit 54dcbd170d08e91b20a83cc0c9e23d01bc1e05a7 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 13:16:08 2019 -0700 chttp2_transport changes commit 7a3388b077d92b741679e834f22f4f4731394c66 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 18:33:55 2019 -0700 resource quota and lb policy commit 714e4c849fea25b2650b04c05fc9f9116c9659ca Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 17:23:04 2019 -0700 Further commit 1d17ad7d444a018dd7a0bab3c2351d25502d8a16 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 13:34:52 2019 -0700 ares ev driver windows changes commit 3110c062c5e57eb8241db7699c6638cdb68a5a88 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:47:37 2019 -0700 ares dns changes commit 0e10bc17eac160189c390e54f9c91bbc666ff697 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:24:45 2019 -0700 Add dns_resolver changes commit 4a71a911e8249dfbcf4a2c1397e3b0691265fe0b Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:08:10 2019 -0700 Add fake_resolver changes commit 8610a64ec9cc3bae10a5816e2a4800e0755bbb71 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 19:31:13 2019 -0700 Remaning one from xds_client commit 5f22055d0d3d177b8e3256e371b828abd3b88641 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 18:47:28 2019 -0700 One left from xds_client.cc commit 4b1223f8753c103760cf9a15660a6786859a607f Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 17:17:12 2019 -0700 modifications for xds.cc commit a17bbbd840f56cbc608b463fb04ebabcc8152c01 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 13:06:25 2019 -0700 grpclb.cc changes commit 3a33ed4762616397281a7d0e60e07d92439438f3 Merge: 11058748fd 3d363368ca Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 11:24:11 2019 -0700 Merge branch 'combinernew' of github.com:yashykt/grpc into combinernew commit 3d363368ca0a0779182afeda0eb3279dc951d757 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 11:18:00 2019 -0700 New combiner
5 years ago
GRPC_CLOSURE_INIT(&c1, DoNothing, nullptr, nullptr);
GRPC_CLOSURE_INIT(&c2, DoNothing, nullptr, nullptr);
grpc_core::ExecCtx exec_ctx;
for (auto _ : state) {
combiner->Run(&c1, absl::OkStatus());
combiner->Run(&c2, absl::OkStatus());
grpc_core::ExecCtx::Get()->Flush();
}
GRPC_COMBINER_UNREF(combiner, "finished");
}
BENCHMARK(BM_ClosureSched2OnCombiner);
static void BM_ClosureSched3OnCombiner(benchmark::State& state) {
grpc_core::Combiner* combiner = grpc_combiner_create(
grpc_event_engine::experimental::CreateEventEngine());
grpc_closure c1;
grpc_closure c2;
grpc_closure c3;
Squashed commit of the following: commit 1547cb209ad4f6899bf10c06c34b814783fd3924 Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 13:12:55 2019 -0700 Revert some other GRPC_CLOSURE_RUN till other issues are fixed commit 3edeee7ce9a06eec8901dfe01ea45fb6f5505dbc Merge: 22b343e4fb e8f78e7a5d Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 12:26:26 2019 -0700 Merge branch 'master' into combinernew commit 22b343e4fb823e625646864454fe6ea3f9f371de Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 12:22:34 2019 -0700 Change some TCP posix closures to GRPC_CLOSURE_RUN commit 19e60dfe8f6426236c618779f569df7dfed51597 Merge: 153bdcbc97 feae38d3ab Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 17 11:56:46 2019 -0700 Merge branch 'master' into combinernew commit 153bdcbc974126dfd123b48e9bfb60e89dc3890e Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 17 11:41:14 2019 -0700 Proxy fixture fix commit c6da80bcce6fdc9bec62a6144d775382f165ba93 Merge: 6a32264cdf 98abc22f4c Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 11 17:05:18 2019 -0700 Merge branch 'master' into combinernew commit 6a32264cdf35c4b833748bdc64efd553435ce87c Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 11 17:01:55 2019 -0700 Reviewer comments commit 6bbd3a1c3c6c23ae4401020f1981ac003524aa7d Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:55:43 2019 -0700 Fallback cleanup commit aaa04526a2acf225825e218174f07a845af34546 Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:24:18 2019 -0700 Clean up commit 4266be13d554136af02d50e5f92dd95a914f9839 Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:20:05 2019 -0700 Make sure start_ping is called before finish_ping for bdp and keepalive commit 14107957aa5a17bd0a46b019cffdab41ff60b0f2 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 18:56:07 2019 -0700 chttp2 fixes commit 5643aa6cb388a508d45cd9aa6a9b65d06a009c7e Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 18:25:19 2019 -0700 Remove closure list scheduling from combiners commit c59644943084ca7c2f0b67cc4a4679901454f207 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 17:35:54 2019 -0700 ares windows fix commit 9f933903b969d290acd8fb52e57c37d820f16f34 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 17:23:11 2019 -0700 More fixes commit 3c3a7d0e9b365b086c2bec9b87c600dae05c4689 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 16:08:07 2019 -0700 Fix errors commit 56539cc448a225c4936e712d29cd9a1022320aae Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 15:22:28 2019 -0700 Everything compiles commit 714ec01e4b61972c32fd1102d9e46da9e91d70fb Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 13:44:18 2019 -0700 src compiles commit 54dcbd170d08e91b20a83cc0c9e23d01bc1e05a7 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 13:16:08 2019 -0700 chttp2_transport changes commit 7a3388b077d92b741679e834f22f4f4731394c66 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 18:33:55 2019 -0700 resource quota and lb policy commit 714e4c849fea25b2650b04c05fc9f9116c9659ca Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 17:23:04 2019 -0700 Further commit 1d17ad7d444a018dd7a0bab3c2351d25502d8a16 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 13:34:52 2019 -0700 ares ev driver windows changes commit 3110c062c5e57eb8241db7699c6638cdb68a5a88 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:47:37 2019 -0700 ares dns changes commit 0e10bc17eac160189c390e54f9c91bbc666ff697 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:24:45 2019 -0700 Add dns_resolver changes commit 4a71a911e8249dfbcf4a2c1397e3b0691265fe0b Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:08:10 2019 -0700 Add fake_resolver changes commit 8610a64ec9cc3bae10a5816e2a4800e0755bbb71 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 19:31:13 2019 -0700 Remaning one from xds_client commit 5f22055d0d3d177b8e3256e371b828abd3b88641 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 18:47:28 2019 -0700 One left from xds_client.cc commit 4b1223f8753c103760cf9a15660a6786859a607f Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 17:17:12 2019 -0700 modifications for xds.cc commit a17bbbd840f56cbc608b463fb04ebabcc8152c01 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 13:06:25 2019 -0700 grpclb.cc changes commit 3a33ed4762616397281a7d0e60e07d92439438f3 Merge: 11058748fd 3d363368ca Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 11:24:11 2019 -0700 Merge branch 'combinernew' of github.com:yashykt/grpc into combinernew commit 3d363368ca0a0779182afeda0eb3279dc951d757 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 11:18:00 2019 -0700 New combiner
5 years ago
GRPC_CLOSURE_INIT(&c1, DoNothing, nullptr, nullptr);
GRPC_CLOSURE_INIT(&c2, DoNothing, nullptr, nullptr);
GRPC_CLOSURE_INIT(&c3, DoNothing, nullptr, nullptr);
grpc_core::ExecCtx exec_ctx;
for (auto _ : state) {
combiner->Run(&c1, absl::OkStatus());
combiner->Run(&c2, absl::OkStatus());
combiner->Run(&c3, absl::OkStatus());
grpc_core::ExecCtx::Get()->Flush();
}
GRPC_COMBINER_UNREF(combiner, "finished");
}
BENCHMARK(BM_ClosureSched3OnCombiner);
static void BM_ClosureSched2OnTwoCombiners(benchmark::State& state) {
std::shared_ptr<grpc_event_engine::experimental::EventEngine> engine =
grpc_event_engine::experimental::CreateEventEngine();
grpc_core::Combiner* combiner1 = grpc_combiner_create(engine);
grpc_core::Combiner* combiner2 = grpc_combiner_create(engine);
grpc_closure c1;
grpc_closure c2;
Squashed commit of the following: commit 1547cb209ad4f6899bf10c06c34b814783fd3924 Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 13:12:55 2019 -0700 Revert some other GRPC_CLOSURE_RUN till other issues are fixed commit 3edeee7ce9a06eec8901dfe01ea45fb6f5505dbc Merge: 22b343e4fb e8f78e7a5d Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 12:26:26 2019 -0700 Merge branch 'master' into combinernew commit 22b343e4fb823e625646864454fe6ea3f9f371de Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 12:22:34 2019 -0700 Change some TCP posix closures to GRPC_CLOSURE_RUN commit 19e60dfe8f6426236c618779f569df7dfed51597 Merge: 153bdcbc97 feae38d3ab Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 17 11:56:46 2019 -0700 Merge branch 'master' into combinernew commit 153bdcbc974126dfd123b48e9bfb60e89dc3890e Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 17 11:41:14 2019 -0700 Proxy fixture fix commit c6da80bcce6fdc9bec62a6144d775382f165ba93 Merge: 6a32264cdf 98abc22f4c Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 11 17:05:18 2019 -0700 Merge branch 'master' into combinernew commit 6a32264cdf35c4b833748bdc64efd553435ce87c Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 11 17:01:55 2019 -0700 Reviewer comments commit 6bbd3a1c3c6c23ae4401020f1981ac003524aa7d Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:55:43 2019 -0700 Fallback cleanup commit aaa04526a2acf225825e218174f07a845af34546 Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:24:18 2019 -0700 Clean up commit 4266be13d554136af02d50e5f92dd95a914f9839 Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:20:05 2019 -0700 Make sure start_ping is called before finish_ping for bdp and keepalive commit 14107957aa5a17bd0a46b019cffdab41ff60b0f2 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 18:56:07 2019 -0700 chttp2 fixes commit 5643aa6cb388a508d45cd9aa6a9b65d06a009c7e Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 18:25:19 2019 -0700 Remove closure list scheduling from combiners commit c59644943084ca7c2f0b67cc4a4679901454f207 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 17:35:54 2019 -0700 ares windows fix commit 9f933903b969d290acd8fb52e57c37d820f16f34 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 17:23:11 2019 -0700 More fixes commit 3c3a7d0e9b365b086c2bec9b87c600dae05c4689 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 16:08:07 2019 -0700 Fix errors commit 56539cc448a225c4936e712d29cd9a1022320aae Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 15:22:28 2019 -0700 Everything compiles commit 714ec01e4b61972c32fd1102d9e46da9e91d70fb Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 13:44:18 2019 -0700 src compiles commit 54dcbd170d08e91b20a83cc0c9e23d01bc1e05a7 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 13:16:08 2019 -0700 chttp2_transport changes commit 7a3388b077d92b741679e834f22f4f4731394c66 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 18:33:55 2019 -0700 resource quota and lb policy commit 714e4c849fea25b2650b04c05fc9f9116c9659ca Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 17:23:04 2019 -0700 Further commit 1d17ad7d444a018dd7a0bab3c2351d25502d8a16 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 13:34:52 2019 -0700 ares ev driver windows changes commit 3110c062c5e57eb8241db7699c6638cdb68a5a88 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:47:37 2019 -0700 ares dns changes commit 0e10bc17eac160189c390e54f9c91bbc666ff697 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:24:45 2019 -0700 Add dns_resolver changes commit 4a71a911e8249dfbcf4a2c1397e3b0691265fe0b Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:08:10 2019 -0700 Add fake_resolver changes commit 8610a64ec9cc3bae10a5816e2a4800e0755bbb71 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 19:31:13 2019 -0700 Remaning one from xds_client commit 5f22055d0d3d177b8e3256e371b828abd3b88641 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 18:47:28 2019 -0700 One left from xds_client.cc commit 4b1223f8753c103760cf9a15660a6786859a607f Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 17:17:12 2019 -0700 modifications for xds.cc commit a17bbbd840f56cbc608b463fb04ebabcc8152c01 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 13:06:25 2019 -0700 grpclb.cc changes commit 3a33ed4762616397281a7d0e60e07d92439438f3 Merge: 11058748fd 3d363368ca Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 11:24:11 2019 -0700 Merge branch 'combinernew' of github.com:yashykt/grpc into combinernew commit 3d363368ca0a0779182afeda0eb3279dc951d757 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 11:18:00 2019 -0700 New combiner
5 years ago
GRPC_CLOSURE_INIT(&c1, DoNothing, nullptr, nullptr);
GRPC_CLOSURE_INIT(&c2, DoNothing, nullptr, nullptr);
grpc_core::ExecCtx exec_ctx;
for (auto _ : state) {
combiner1->Run(&c1, absl::OkStatus());
combiner2->Run(&c2, absl::OkStatus());
grpc_core::ExecCtx::Get()->Flush();
}
GRPC_COMBINER_UNREF(combiner1, "finished");
GRPC_COMBINER_UNREF(combiner2, "finished");
}
BENCHMARK(BM_ClosureSched2OnTwoCombiners);
static void BM_ClosureSched4OnTwoCombiners(benchmark::State& state) {
std::shared_ptr<grpc_event_engine::experimental::EventEngine> engine =
grpc_event_engine::experimental::CreateEventEngine();
grpc_core::Combiner* combiner1 = grpc_combiner_create(engine);
grpc_core::Combiner* combiner2 = grpc_combiner_create(engine);
grpc_closure c1;
grpc_closure c2;
grpc_closure c3;
grpc_closure c4;
Squashed commit of the following: commit 1547cb209ad4f6899bf10c06c34b814783fd3924 Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 13:12:55 2019 -0700 Revert some other GRPC_CLOSURE_RUN till other issues are fixed commit 3edeee7ce9a06eec8901dfe01ea45fb6f5505dbc Merge: 22b343e4fb e8f78e7a5d Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 12:26:26 2019 -0700 Merge branch 'master' into combinernew commit 22b343e4fb823e625646864454fe6ea3f9f371de Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 18 12:22:34 2019 -0700 Change some TCP posix closures to GRPC_CLOSURE_RUN commit 19e60dfe8f6426236c618779f569df7dfed51597 Merge: 153bdcbc97 feae38d3ab Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 17 11:56:46 2019 -0700 Merge branch 'master' into combinernew commit 153bdcbc974126dfd123b48e9bfb60e89dc3890e Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 17 11:41:14 2019 -0700 Proxy fixture fix commit c6da80bcce6fdc9bec62a6144d775382f165ba93 Merge: 6a32264cdf 98abc22f4c Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 11 17:05:18 2019 -0700 Merge branch 'master' into combinernew commit 6a32264cdf35c4b833748bdc64efd553435ce87c Author: Yash Tibrewal <yashkt@google.com> Date: Fri Oct 11 17:01:55 2019 -0700 Reviewer comments commit 6bbd3a1c3c6c23ae4401020f1981ac003524aa7d Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:55:43 2019 -0700 Fallback cleanup commit aaa04526a2acf225825e218174f07a845af34546 Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:24:18 2019 -0700 Clean up commit 4266be13d554136af02d50e5f92dd95a914f9839 Author: Yash Tibrewal <yashkt@google.com> Date: Thu Oct 10 11:20:05 2019 -0700 Make sure start_ping is called before finish_ping for bdp and keepalive commit 14107957aa5a17bd0a46b019cffdab41ff60b0f2 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 18:56:07 2019 -0700 chttp2 fixes commit 5643aa6cb388a508d45cd9aa6a9b65d06a009c7e Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 18:25:19 2019 -0700 Remove closure list scheduling from combiners commit c59644943084ca7c2f0b67cc4a4679901454f207 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 17:35:54 2019 -0700 ares windows fix commit 9f933903b969d290acd8fb52e57c37d820f16f34 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 17:23:11 2019 -0700 More fixes commit 3c3a7d0e9b365b086c2bec9b87c600dae05c4689 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 16:08:07 2019 -0700 Fix errors commit 56539cc448a225c4936e712d29cd9a1022320aae Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 15:22:28 2019 -0700 Everything compiles commit 714ec01e4b61972c32fd1102d9e46da9e91d70fb Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 13:44:18 2019 -0700 src compiles commit 54dcbd170d08e91b20a83cc0c9e23d01bc1e05a7 Author: Yash Tibrewal <yashkt@google.com> Date: Wed Oct 9 13:16:08 2019 -0700 chttp2_transport changes commit 7a3388b077d92b741679e834f22f4f4731394c66 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 18:33:55 2019 -0700 resource quota and lb policy commit 714e4c849fea25b2650b04c05fc9f9116c9659ca Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 17:23:04 2019 -0700 Further commit 1d17ad7d444a018dd7a0bab3c2351d25502d8a16 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 13:34:52 2019 -0700 ares ev driver windows changes commit 3110c062c5e57eb8241db7699c6638cdb68a5a88 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:47:37 2019 -0700 ares dns changes commit 0e10bc17eac160189c390e54f9c91bbc666ff697 Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:24:45 2019 -0700 Add dns_resolver changes commit 4a71a911e8249dfbcf4a2c1397e3b0691265fe0b Author: Yash Tibrewal <yashkt@google.com> Date: Tue Oct 8 12:08:10 2019 -0700 Add fake_resolver changes commit 8610a64ec9cc3bae10a5816e2a4800e0755bbb71 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 19:31:13 2019 -0700 Remaning one from xds_client commit 5f22055d0d3d177b8e3256e371b828abd3b88641 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 18:47:28 2019 -0700 One left from xds_client.cc commit 4b1223f8753c103760cf9a15660a6786859a607f Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 17:17:12 2019 -0700 modifications for xds.cc commit a17bbbd840f56cbc608b463fb04ebabcc8152c01 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 13:06:25 2019 -0700 grpclb.cc changes commit 3a33ed4762616397281a7d0e60e07d92439438f3 Merge: 11058748fd 3d363368ca Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 11:24:11 2019 -0700 Merge branch 'combinernew' of github.com:yashykt/grpc into combinernew commit 3d363368ca0a0779182afeda0eb3279dc951d757 Author: Yash Tibrewal <yashkt@google.com> Date: Mon Oct 7 11:18:00 2019 -0700 New combiner
5 years ago
GRPC_CLOSURE_INIT(&c1, DoNothing, nullptr, nullptr);
GRPC_CLOSURE_INIT(&c2, DoNothing, nullptr, nullptr);
GRPC_CLOSURE_INIT(&c3, DoNothing, nullptr, nullptr);
GRPC_CLOSURE_INIT(&c4, DoNothing, nullptr, nullptr);
grpc_core::ExecCtx exec_ctx;
for (auto _ : state) {
combiner1->Run(&c1, absl::OkStatus());
combiner2->Run(&c2, absl::OkStatus());
combiner1->Run(&c3, absl::OkStatus());
combiner2->Run(&c4, absl::OkStatus());
grpc_core::ExecCtx::Get()->Flush();
}
GRPC_COMBINER_UNREF(combiner1, "finished");
GRPC_COMBINER_UNREF(combiner2, "finished");
}
BENCHMARK(BM_ClosureSched4OnTwoCombiners);
// Helper that continuously reschedules the same closure against something until
// the benchmark is complete
class Rescheduler {
public:
explicit Rescheduler(benchmark::State& state) : state_(state) {
GRPC_CLOSURE_INIT(&closure_, Step, this, nullptr);
}
5 years ago
void ScheduleFirst() {
grpc_core::ExecCtx::Run(DEBUG_LOCATION, &closure_, absl::OkStatus());
5 years ago
}
void ScheduleFirstAgainstDifferentScheduler() {
5 years ago
grpc_core::ExecCtx::Run(DEBUG_LOCATION,
GRPC_CLOSURE_CREATE(Step, this, nullptr),
absl::OkStatus());
}
private:
benchmark::State& state_;
grpc_closure closure_;
static void Step(void* arg, grpc_error_handle /*error*/) {
Rescheduler* self = static_cast<Rescheduler*>(arg);
if (self->state_.KeepRunning()) {
grpc_core::ExecCtx::Run(DEBUG_LOCATION, &self->closure_,
absl::OkStatus());
}
}
};
static void BM_ClosureReschedOnExecCtx(benchmark::State& state) {
grpc_core::ExecCtx exec_ctx;
Rescheduler r(state);
r.ScheduleFirst();
grpc_core::ExecCtx::Get()->Flush();
}
BENCHMARK(BM_ClosureReschedOnExecCtx);
// Some distros have RunSpecifiedBenchmarks under the benchmark namespace,
// and others do not. This allows us to support both modes.
namespace benchmark {
void RunTheBenchmarksNamespaced() { RunSpecifiedBenchmarks(); }
} // namespace benchmark
int main(int argc, char** argv) {
grpc::testing::TestEnvironment env(&argc, argv);
LibraryInitializer libInit;
::benchmark::Initialize(&argc, argv);
grpc::testing::InitTest(&argc, &argv, false);
benchmark::RunTheBenchmarksNamespaced();
return 0;
}