Increase initial arena size to be more representative of real workload scenario and increase frequency of recreating the arena to avoid oom

pull/16629/head
Hope Casey-Allen 7 years ago
parent 91727bd015
commit 29d9489ea9
  1. 6
      test/cpp/microbenchmarks/bm_chttp2_hpack.cc

@ -457,7 +457,7 @@ static void BM_HpackParserParseHeader(benchmark::State& state) {
std::vector<grpc_slice> benchmark_slices = Fixture::GetBenchmarkSlices();
grpc_chttp2_hpack_parser p;
grpc_chttp2_hpack_parser_init(&p);
const int kArenaSize = 4096;
const int kArenaSize = 4096 * 4096;
gpr_arena* arena = gpr_arena_create(kArenaSize);
p.on_header = OnHeader;
p.on_header_user_data = arena;
@ -469,8 +469,8 @@ static void BM_HpackParserParseHeader(benchmark::State& state) {
GPR_ASSERT(GRPC_ERROR_NONE == grpc_chttp2_hpack_parser_parse(&p, slice));
}
grpc_core::ExecCtx::Get()->Flush();
// recreate arena every 64k iterations to avoid oom
if (0 == (state.iterations() & 0xffff)) {
// Recreate arena every 4k iterations to avoid oom
if (0 == (state.iterations() & 0xfff)) {
gpr_arena_destroy(arena);
arena = gpr_arena_create(kArenaSize);
}

Loading…
Cancel
Save