aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/cpp/microbenchmarks/bm_metadata.cc
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2017-03-10 14:14:57 -0800
committerGravatar Craig Tiller <ctiller@google.com>2017-03-10 14:14:57 -0800
commita2d11d7bb48551d93445e50b21d7e15adad5baaf (patch)
treef1b52645007a755ade7011ab2b4df4a39a999e23 /test/cpp/microbenchmarks/bm_metadata.cc
parentab314ee9a6dd633c9e5d5e8bf2e91cb14c4f40a7 (diff)
parent169c553e0d2f461e57af01958fcede2e3276f6d5 (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.cc15
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");