grpc
test
cpp
microbenchmarks
bm_fullstack_streaming_pump.cc
Go to the documentation of this file.
1
/*
2
*
3
* Copyright 2016 gRPC authors.
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
*/
18
19
/* Benchmark gRPC end2end in various configurations */
20
21
#include "
test/core/util/test_config.h
"
22
#include "
test/cpp/microbenchmarks/fullstack_streaming_pump.h
"
23
#include "
test/cpp/util/test_config.h
"
24
25
namespace
grpc
{
26
namespace
testing
{
27
28
/*******************************************************************************
29
* CONFIGURATIONS
30
*/
31
32
BENCHMARK_TEMPLATE
(
BM_PumpStreamClientToServer
, TCP)
33
->Range(0, 128 * 1024 * 1024);
34
BENCHMARK_TEMPLATE
(
BM_PumpStreamClientToServer
,
UDS
)
35
->Range(0, 128 * 1024 * 1024);
36
BENCHMARK_TEMPLATE
(
BM_PumpStreamClientToServer
, InProcess)
37
->Range(0, 128 * 1024 * 1024);
38
BENCHMARK_TEMPLATE
(
BM_PumpStreamClientToServer
, InProcessCHTTP2)
39
->Range(0, 128 * 1024 * 1024);
40
BENCHMARK_TEMPLATE
(
BM_PumpStreamServerToClient
, TCP)
41
->Range(0, 128 * 1024 * 1024);
42
BENCHMARK_TEMPLATE
(
BM_PumpStreamServerToClient
,
UDS
)
43
->Range(0, 128 * 1024 * 1024);
44
BENCHMARK_TEMPLATE
(
BM_PumpStreamServerToClient
, InProcess)
45
->Range(0, 128 * 1024 * 1024);
46
BENCHMARK_TEMPLATE
(
BM_PumpStreamServerToClient
, InProcessCHTTP2)
47
->Range(0, 128 * 1024 * 1024);
48
BENCHMARK_TEMPLATE
(
BM_PumpStreamClientToServer
,
MinTCP
)->Arg(0);
49
BENCHMARK_TEMPLATE
(
BM_PumpStreamClientToServer
,
MinUDS
)->Arg(0);
50
BENCHMARK_TEMPLATE
(
BM_PumpStreamClientToServer
,
MinInProcess
)->Arg(0);
51
BENCHMARK_TEMPLATE
(
BM_PumpStreamClientToServer
,
MinInProcessCHTTP2
)->Arg(0);
52
BENCHMARK_TEMPLATE
(
BM_PumpStreamServerToClient
,
MinTCP
)->Arg(0);
53
BENCHMARK_TEMPLATE
(
BM_PumpStreamServerToClient
,
MinUDS
)->Arg(0);
54
BENCHMARK_TEMPLATE
(
BM_PumpStreamServerToClient
,
MinInProcess
)->Arg(0);
55
BENCHMARK_TEMPLATE
(
BM_PumpStreamServerToClient
,
MinInProcessCHTTP2
)->Arg(0);
56
57
}
// namespace testing
58
}
// namespace grpc
59
60
// Some distros have RunSpecifiedBenchmarks under the benchmark namespace,
61
// and others do not. This allows us to support both modes.
62
namespace
benchmark
{
63
void
RunTheBenchmarksNamespaced
() {
RunSpecifiedBenchmarks
(); }
64
}
// namespace benchmark
65
66
int
main
(
int
argc,
char
** argv) {
67
grpc::testing::TestEnvironment
env
(&argc, argv);
68
LibraryInitializer
libInit;
69
::benchmark::Initialize
(&argc, argv);
70
grpc::testing::InitTest
(&argc, &argv,
false
);
71
benchmark::RunTheBenchmarksNamespaced
();
72
return
0;
73
}
grpc::testing::InitTest
void InitTest(int *argc, char ***argv, bool remove_flags)
Definition:
test_config_cc.cc:28
testing
Definition:
aws_request_signer_test.cc:25
benchmark
Definition:
bm_alarm.cc:55
generate.env
env
Definition:
generate.py:37
grpc
Definition:
grpcpp/alarm.h:33
grpc::testing::MinInProcessCHTTP2
MinStackize< InProcessCHTTP2 > MinInProcessCHTTP2
Definition:
fullstack_fixtures.h:332
grpc::testing::MinInProcess
MinStackize< InProcess > MinInProcess
Definition:
fullstack_fixtures.h:330
main
int main(int argc, char **argv)
Definition:
bm_fullstack_streaming_pump.cc:66
grpc::testing::BM_PumpStreamServerToClient
static void BM_PumpStreamServerToClient(benchmark::State &state)
Definition:
fullstack_streaming_pump.h:112
benchmark::RunTheBenchmarksNamespaced
void RunTheBenchmarksNamespaced()
Definition:
bm_alarm.cc:56
grpc::testing::BENCHMARK_TEMPLATE
BENCHMARK_TEMPLATE(BM_CallbackBidiStreaming, InProcess, NoOpMutator, NoOpMutator) -> Apply(StreamingPingPongMsgSizeArgs)
benchmark::RunSpecifiedBenchmarks
size_t RunSpecifiedBenchmarks()
Definition:
benchmark/src/benchmark.cc:437
benchmark::Initialize
void Initialize(int *argc, char **argv)
Definition:
benchmark/src/benchmark.cc:602
LibraryInitializer
Definition:
helpers.h:33
test_config.h
UDS
@ UDS
Definition:
grpc_security_constants.h:143
grpc::testing::TestEnvironment
Definition:
test/core/util/test_config.h:54
grpc::testing::MinTCP
MinStackize< TCP > MinTCP
Definition:
fullstack_fixtures.h:328
fullstack_streaming_pump.h
test_config.h
grpc::testing::BM_PumpStreamClientToServer
static void BM_PumpStreamClientToServer(benchmark::State &state)
Definition:
fullstack_streaming_pump.h:43
grpc::testing::MinUDS
MinStackize< UDS > MinUDS
Definition:
fullstack_fixtures.h:329
grpc
Author(s):
autogenerated on Fri May 16 2025 02:57:49