diff options
author | 2017-03-10 14:14:57 -0800 | |
---|---|---|
committer | 2017-03-10 14:14:57 -0800 | |
commit | a2d11d7bb48551d93445e50b21d7e15adad5baaf (patch) | |
tree | f1b52645007a755ade7011ab2b4df4a39a999e23 /test/cpp/microbenchmarks/bm_metadata.cc | |
parent | ab314ee9a6dd633c9e5d5e8bf2e91cb14c4f40a7 (diff) | |
parent | 169c553e0d2f461e57af01958fcede2e3276f6d5 (diff) |
Merge github.com:grpc/grpc into poll-wakeup
Diffstat (limited to 'test/cpp/microbenchmarks/bm_metadata.cc')
-rw-r--r-- | test/cpp/microbenchmarks/bm_metadata.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/cpp/microbenchmarks/bm_metadata.cc b/test/cpp/microbenchmarks/bm_metadata.cc index b01a376eb4..34874b57f5 100644 --- a/test/cpp/microbenchmarks/bm_metadata.cc +++ b/test/cpp/microbenchmarks/bm_metadata.cc @@ -36,8 +36,10 @@ #include <grpc/grpc.h> extern "C" { +#include "src/core/lib/slice/slice_internal.h" #include "src/core/lib/transport/metadata.h" #include "src/core/lib/transport/static_metadata.h" +#include "src/core/lib/transport/transport.h" } #include "test/cpp/microbenchmarks/helpers.h" @@ -63,6 +65,19 @@ static void BM_SliceFromCopied(benchmark::State& state) { } BENCHMARK(BM_SliceFromCopied); +static void BM_SliceFromStreamOwnedBuffer(benchmark::State& state) { + grpc_stream_refcount r; + GRPC_STREAM_REF_INIT(&r, 1, NULL, NULL, "test"); + char buffer[64]; + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + while (state.KeepRunning()) { + grpc_slice_unref_internal(&exec_ctx, grpc_slice_from_stream_owned_buffer( + &r, buffer, sizeof(buffer))); + } + grpc_exec_ctx_finish(&exec_ctx); +} +BENCHMARK(BM_SliceFromStreamOwnedBuffer); + static void BM_SliceIntern(benchmark::State& state) { TrackCounters track_counters; gpr_slice slice = grpc_slice_from_static_string("abc"); |