Track zalloc times in microbenchmark

This forms our speed of light for call creation: at some point call
creation is dominated by zeroing memory and all we can do is reduce the
size of the call... let's track where that point is.
pull/10068/head
Craig Tiller 8 years ago
parent 45c34c323e
commit d720d5dd0a
  1. 10
      test/cpp/microbenchmarks/bm_call_create.cc

@ -60,6 +60,16 @@ extern "C" {
auto &force_library_initialization = Library::get(); auto &force_library_initialization = Library::get();
void BM_Zalloc(benchmark::State& state) {
// speed of light for call creation is zalloc, so benchmark a few interesting
// sizes
size_t sz = state.range(0);
while (state.KeepRunning()) {
gpr_free(gpr_zalloc(sz));
}
}
BENCHMARK(BM_Zalloc)->Arg(64)->Arg(128)->Arg(256)->Arg(512)->Arg(1024)->Arg(1536)->Arg(2048)->Arg(3072)->Arg(4096)->Arg(5120)->Arg(6144)->Arg(7168);
class BaseChannelFixture { class BaseChannelFixture {
public: public:
BaseChannelFixture(grpc_channel *channel) : channel_(channel) {} BaseChannelFixture(grpc_channel *channel) : channel_(channel) {}

Loading…
Cancel
Save