Soheil Hassas Yeganeh
509e77a5a3
Introduce grpc_byte_buffer_reader_peek and use it for Protobuf parsing.
...
grpc_byte_buffer_reader_next() copies and references the slice. This
is not always necessary since the caller will not use the slice
after destroying the byte buffer.
A prominent example is the protobuf parser, which
calls grpc_byte_buffer_reader_next() and immediately unrefs the slice
after the call. This ref() and unref() calls can be very expensive
in the hot path.
This commit introduces grpc_byte_buffer_reader_peek() which
essentialy return a pointer to the slice in the buffer, i.e.,
no copies, and no refs.
QPS of 1MiB 1 Channel callback benchmark increases by 5%.
More importantly insructions per cycle is increased by 10%.
Also add tests and benchmarks for byte_buffer_reader_peek()
6 years ago
Mark D. Roth
251d66aac6
Convert client channel factory to C++
6 years ago
Nicolas Noble
91ad888497
Revert "Revert "Folding the Channel class into the grpc_impl namespace.""
6 years ago
Vijay Pai
29191d5eda
Need to properly init library for microbenchmarks
6 years ago
Mark D. Roth
aa149fedbb
Revert "Merge pull request #18093 from grpc/revert-17770-lb_policy_picker_api"
...
This reverts commit f327b83706
, reversing
changes made to b3b5d63423
.
6 years ago
hcaseyal
275296c594
Revert "LB policy picker API"
6 years ago
Nicolas Noble
2ad245cb0c
Revert "Folding the Channel class into the grpc_impl namespace."
6 years ago
xtao
7766912dda
fix more detected mu/cv leaks
6 years ago
Mark D. Roth
bab8123763
LB policy picker API
6 years ago
Vijay Pai
f919ace038
Add a microbenchmark for immediately-firing alarms
6 years ago
Juanli Shen
4f3c1572e1
Revert "Revert "C++-ify subchannel""
6 years ago
Juanli Shen
bbfc024a02
Revert "C++-ify subchannel"
6 years ago
Juanli Shen
25dc2ffed6
C++-ify subchannel
6 years ago
Nicolas "Pixel" Noble
2fd079ff7c
Channel folding.
6 years ago
Vijay Pai
fab05d336c
Dynamic callback requesting, graceful server shutdown, and separate ExecCtx for callbacks
6 years ago
Juanli Shen
23677bd827
Remove subchannel args
6 years ago
Guantao Liu
11eff929e2
Avoid the thread jump in server callback APIs.
...
Add a utility function in iomgr to check whether the caller thread is a
worker for any background poller, and keep grpc combiner from offloading
closures to the default executor if the current thread is a worker for
any background poller.
6 years ago
Soheil Hassas Yeganeh
2e017da58a
Add microbenchmarks for grpc_timer
...
This helps assessing upcoming changes.
6 years ago
Vijay Pai
ca4e55e6ca
Benchmark to show that byte buffer copy is size-independent
6 years ago
ncteisen
7b81ae14a7
clang tidy and clang format
6 years ago
yang-g
67742ef63f
Fix BUILD files. Manually edit bzl files
6 years ago
Noah Eisen
bc447b5f23
Revert "Revert "Add Testonly to Targets""
6 years ago
Sheena Madan
8a461613d1
Revert "Make Microbenchmarks Test Targets"
6 years ago
Sheena Madan
de00c613a9
Revert "Add Testonly to Targets"
6 years ago
Sheena Madan
073467b584
Update BUILD
6 years ago
ncteisen
0a37159ff4
re add testonly
6 years ago
ncteisen
8ace4e16df
disable some add some
6 years ago
ncteisen
475ccfd110
Fix ubsan
6 years ago
ncteisen
3eb6c4779d
Exclude census
6 years ago
ncteisen
bdd0d47e07
microbenchmarks don't use polling
6 years ago
Noah Eisen
12d9d04cb4
Make microbenchmarks test targets
6 years ago
Guantao Liu
458d9d28db
Add the missing definition of shutdown_background_closure to bm_cq_multiple_threads
6 years ago
Yash Tibrewal
bab043e865
Cleanup
6 years ago
Yash Tibrewal
a60fd359cb
Modify remaining usecases in test/cpp
6 years ago
Soheil Hassas Yeganeh
48e4a81b05
Remeve memset(0) from arena allocated memory.
...
Callers are updated to properly initialize the memory.
This behavior can be overridden using GRPC_ARENA_INIT_STRATEGY
environment variable.
6 years ago
ncteisen
1a7f14fd31
Remove uneeded header
6 years ago
Soheil Hassas Yeganeh
cc5fe63da0
Fix bazel for //test/cpp/microbenchmarks/...
...
Fix a build failure due to missed dependency and add the bm_create_call
benchmark to the build targets.
6 years ago
ncteisen
f53e6884b6
Fix two build breakages
6 years ago
ncteisen
e35f24da4d
reviewer feedback
6 years ago
ncteisen
8362e7042d
Undo adding new API to tranport
6 years ago
ncteisen
fd2fe1d5c4
Channelz server listening socket support
6 years ago
Hope Casey-Allen
d568fba51a
Add documentation for running microbenchmarks with other tooling
6 years ago
ncteisen
404b2515af
reviewer feedback
6 years ago
ncteisen
f2b493e369
reviewer feedback
6 years ago
ncteisen
4cc16f951c
Simplifiy transport querying function
6 years ago
Yash Tibrewal
a1598c5abf
Create interfaces and initial plumbing for interception API
6 years ago
Vijay Pai
9134639877
Warn on non-virtual destructor if class has virtual functions
6 years ago
Hope Casey-Allen
4c6e7ce15d
Destroy metadata buffer at end of benchmark loop
6 years ago
Hope Casey-Allen
d44feec92f
Reassign arena pointer instead of stomping on memory
6 years ago
Hope Casey-Allen
4b721fbde0
Destroy arena at end of benchmark to not leak memory
6 years ago