Bill Feng
c1b03b68da
Merge remote-tracking branch 'upstream/master' into feature/reinstate-rbe-windows
2019-03-28 16:45:41 -07:00
Guantao Liu
872d2787a0
Avoid using grpc_core::Executor when the background poller is available.
...
Instead, run closures in the background poller. This will generally
avoid the thread hop in the gRPC runtime.
2019-03-25 16:19:08 -07:00
Karthik Ravi Shankar
4e0923e802
Fix errors from clang_format_code.sh
2019-03-25 15:49:22 -07:00
Bill Feng
d49cdbd01f
Merge remote-tracking branch 'upstream/master' into feature/reinstate-rbe-windows
2019-03-25 14:09:00 -07:00
Soheil Hassas Yeganeh
a3366c1b7f
Merge pull request #18464 from soheilhy/slice-buffer
...
Introduce grpc_byte_buffer_reader_peek and use it for Protobuf parsing.
2019-03-23 22:42:23 -04:00
Soheil Hassas Yeganeh
1014fe507f
Use const ref for grpc_slice.
...
We are copying the slice on every call creation, which is hurting
ping/pong traffic.
2019-03-22 06:38:33 -04:00
Bill Feng
d93959853f
Enabled Windows Bazel build for cpp tests
2019-03-21 18:00:48 -07:00
Karthik Ravi Shankar
4260fe1147
More fixes
2019-03-21 17:51:28 -07:00
Soheil Hassas Yeganeh
ad1b3e5094
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()
This commit reaplies 509e77a5a3
2019-03-21 06:03:45 -04:00
Karthik Ravi Shankar
2a8f3f79ab
Fix more namespace stuff
2019-03-15 17:08:58 -07:00
Karthik Ravi Shankar
f66b654795
Revert "Revert "Fold opencensus into grpc_impl namespace""
2019-03-15 11:30:23 -07:00
Karthik Ravi Shankar
3b4835d92d
Merge pull request #18392 from grpc/revert-18223-grpc_namespace_opencensus
...
Revert "Fold opencensus into grpc_impl namespace"
2019-03-15 11:27:35 -07:00
Karthik Ravi Shankar
2bf934f97d
Revert "Fold opencensus into grpc_impl namespace"
2019-03-15 10:20:06 -07:00
Jan Tattermusch
cf6a311761
Revert "Windows builds for gRPC C++ tests"
2019-03-15 17:15:20 +01:00
Karthik Ravi Shankar
276c4dc593
Merge pull request #18223 from grpc/grpc_namespace_opencensus
...
Fold opencensus into grpc_impl namespace
2019-03-08 15:45:03 -08:00
Bill Feng
d61f690a33
Merge pull request #18285 from billfeng327/update-deps-version
...
Windows local Bazel build for gRPC C++ tests
2019-03-08 14:17:36 -08:00
Soheil Hassas Yeganeh
0031393a17
Merge pull request #18240 from soheilhy/tcp-inq
...
Implement TCP_INQ for gRPC in Linux
2019-03-08 11:29:39 -05:00
billfeng327
9e102ea8b0
excluded non-compatible test
2019-03-07 16:14:02 -08:00
billfeng327
4241edeaa4
renamed tag to no_windows in conformation with Bazel and TensorFlow
2019-03-07 14:52:49 -08:00
Soheil Hassas Yeganeh
18b19105f2
Implement TCP_INQ for gRPC in Linux
...
TCP_INQ is a socket option we added to Linux to report pending bytes
on the socket as a control message.
Using TCP_INQ we can accurately decide whether to continue read or not.
Add an urgent parameter, when we do not want to wait for EPOLLIN.
This commit improves the latency of 1 RPC unary (minimal benchmark)
significantly:
Before:
l_50: 61.3584984733
l_90: 94.8328711277
l_99: 126.211351174
l_999: 158.722406029
After:
l_50: 51.3546011488 (-16%)
l_90: 72.3420731581 (-23%)
l_99: 103.280218974 (-18%)
l_999: 130.905689996 (-17%)
2019-03-06 22:15:53 -05:00
billfeng327
928aedf5c8
Merge branch 'master' into update-deps-version
2019-03-06 15:48:29 -08:00
billfeng327
ab06853fc9
C++ Windows test builds
2019-03-06 15:47:49 -08:00
Soheil Hassas Yeganeh
c060d55cc7
Revert "Introduce grpc_byte_buffer_reader_peek and use it for Protobuf parsing."
2019-03-05 14:01:01 -05:00
Karthik Ravi Shankar
b606cad6cc
Fold opencensus into grpc_impl namespace
...
Moving opencensus into grpc_impl namespace..
2019-03-04 15:47:37 -08:00
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()
2019-03-04 14:17:46 -05:00
Mark D. Roth
251d66aac6
Convert client channel factory to C++
2019-03-01 08:40:21 -08:00
Nicolas Noble
91ad888497
Revert "Revert "Folding the Channel class into the grpc_impl namespace.""
2019-02-27 16:53:23 -08:00
Vijay Pai
29191d5eda
Need to properly init library for microbenchmarks
2019-02-26 12:44:13 -08:00
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 .
2019-02-19 13:19:24 -08:00
hcaseyal
275296c594
Revert "LB policy picker API"
2019-02-19 11:05:52 -08:00
Soheil Hassas Yeganeh
db38d4ca9b
Merge pull request #17939 from vertextao/gpr_mu_cv-leak-test
...
Add ASAN-only leak detection for gpr_mu/cv and fix the newly caught leaks
2019-02-15 21:43:32 -05:00
Nicolas Noble
2ad245cb0c
Revert "Folding the Channel class into the grpc_impl namespace."
2019-02-15 09:52:15 -08:00
xtao
7766912dda
fix more detected mu/cv leaks
2019-02-16 00:00:50 +08:00
Nicolas "Pixel" Noble
de332cfcee
Merge branch 'master' of https://github.com/grpc/grpc into channel
2019-02-13 22:11:47 +01:00
Mark D. Roth
bab8123763
LB policy picker API
2019-02-13 08:30:04 -08:00
Nicolas "Pixel" Noble
63db582516
Merge branch 'master' of https://github.com/grpc/grpc into channel
2019-02-13 00:19:23 +01:00
Vijay Pai
f919ace038
Add a microbenchmark for immediately-firing alarms
2019-02-07 08:38:26 -08:00
Juanli Shen
4f3c1572e1
Revert "Revert "C++-ify subchannel""
2019-01-30 10:23:07 -08:00
Juanli Shen
bbfc024a02
Revert "C++-ify subchannel"
2019-01-29 15:23:55 -08:00
Juanli Shen
25dc2ffed6
C++-ify subchannel
2019-01-29 13:00:02 -08:00
Nicolas "Pixel" Noble
2fd079ff7c
Channel folding.
2019-01-23 21:40:07 +01:00
Vijay Pai
fab05d336c
Dynamic callback requesting, graceful server shutdown, and separate ExecCtx for callbacks
2019-01-23 11:21:50 -08:00
Vijay Pai
302e7b4d2b
Merge pull request #17658 from guantaol/avoid_thd_jump
...
Avoid the thread jump in server callback APIs.
2019-01-09 13:43:24 -08:00
Juanli Shen
23677bd827
Remove subchannel args
2019-01-08 19:43:45 -08:00
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.
2019-01-07 18:22:50 -08:00
Soheil Hassas Yeganeh
2e017da58a
Add microbenchmarks for grpc_timer
...
This helps assessing upcoming changes.
2018-12-21 18:56:09 -05:00
yang-g
038a71d826
Merge remote-tracking branch 'upstream/master' into gpr_test_util_to_grpc_test_util
2018-12-17 08:52:20 -08:00
Vijay Pai
ca4e55e6ca
Benchmark to show that byte buffer copy is size-independent
2018-12-14 13:23:34 -08:00
ncteisen
7b81ae14a7
clang tidy and clang format
2018-12-07 14:59:04 -08:00
yang-g
67742ef63f
Fix BUILD files. Manually edit bzl files
2018-12-06 14:37:52 -08:00
Noah Eisen
bc447b5f23
Revert "Revert "Add Testonly to Targets""
2018-12-06 11:16:15 -08:00
Sheena Madan
5874506655
Merge pull request #17418 from grpc/revert-16882-microbenchmarks-bazel
...
Revert "Make Microbenchmarks Test Targets"
2018-12-05 18:41:39 -08:00
Sheena Madan
8a461613d1
Revert "Make Microbenchmarks Test Targets"
2018-12-05 16:45:15 -08:00
Sheena Madan
de00c613a9
Revert "Add Testonly to Targets"
2018-12-05 16:40:37 -08:00
Sheena Madan
073467b584
Update BUILD
2018-12-04 13:14:58 -08:00
ncteisen
0a37159ff4
re add testonly
2018-12-04 12:41:47 -08:00
ncteisen
8ace4e16df
disable some add some
2018-11-30 15:37:02 -08:00
ncteisen
475ccfd110
Fix ubsan
2018-11-30 10:27:34 -08:00
ncteisen
3eb6c4779d
Exclude census
2018-11-30 10:27:34 -08:00
ncteisen
bdd0d47e07
microbenchmarks don't use polling
2018-11-30 10:27:34 -08:00
Noah Eisen
12d9d04cb4
Make microbenchmarks test targets
2018-11-30 10:27:34 -08:00
Guantao Liu
99673fcbe3
Merge pull request #17244 from guantaol/ev_epollbg
...
Preparation for the new background poller 'epollbg'
2018-11-28 15:37:28 -08:00
Yash Tibrewal
248e304671
Merge branch 'master' into httpplumbing
2018-11-21 11:48:41 -08:00
Guantao Liu
458d9d28db
Add the missing definition of shutdown_background_closure to bm_cq_multiple_threads
2018-11-20 11:09:06 -08:00
Yash Tibrewal
bab043e865
Cleanup
2018-11-16 18:11:42 -08:00
Yash Tibrewal
a60fd359cb
Modify remaining usecases in test/cpp
2018-11-16 11:42:31 -08:00
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.
2018-11-05 10:12:39 -05:00
ncteisen
1a7f14fd31
Remove uneeded header
2018-10-18 14:00:09 -07:00
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.
2018-10-17 16:27:59 -04:00
ncteisen
f53e6884b6
Fix two build breakages
2018-10-04 22:05:27 -07:00
ncteisen
e35f24da4d
reviewer feedback
2018-10-04 15:25:49 -07:00
Yash Tibrewal
130eeeaeb9
Merge branch 'master' into interceptors_initial
2018-10-02 14:49:17 -07:00
Hope Casey-Allen
d568fba51a
Add documentation for running microbenchmarks with other tooling
2018-09-28 14:36:13 -07:00
Yash Tibrewal
a1598c5abf
Create interfaces and initial plumbing for interception API
2018-09-26 19:25:30 -07:00
Vijay Pai
9134639877
Warn on non-virtual destructor if class has virtual functions
2018-09-20 18:09:27 -07:00
hcaseyal
07308653a8
Merge pull request #16629 from hcaseyal/fix_hpack_microbenchmarks
...
Add benchmarks for on_initial_header
2018-09-20 14:56:50 -07:00
Hope Casey-Allen
4c6e7ce15d
Destroy metadata buffer at end of benchmark loop
2018-09-20 12:56:56 -07:00
Hope Casey-Allen
d44feec92f
Reassign arena pointer instead of stomping on memory
2018-09-20 09:54:59 -07:00
Hope Casey-Allen
4b721fbde0
Destroy arena at end of benchmark to not leak memory
2018-09-19 20:51:45 -07:00
Hope Casey-Allen
29d9489ea9
Increase initial arena size to be more representative of real workload scenario and increase frequency of recreating the arena to avoid oom
2018-09-19 20:46:17 -07:00
Hope Casey-Allen
91727bd015
Move arena create outside of benchmark, format, and typo fix
2018-09-19 19:13:23 -07:00
Noah Eisen
c33ec79cd8
Only output stats if they were collected
2018-09-17 15:15:05 -07:00
Hope Casey-Allen
967bbcd5d3
Fixing benchmark name and adding a new one
2018-09-13 18:38:01 -07:00
Yash Tibrewal
8d47cd4992
Revert "Revert "Fathom tcp changes""
2018-08-27 14:56:01 -07:00
Jan Tattermusch
97ba943f17
Revert "Fathom tcp changes"
2018-08-27 12:43:20 +02:00
Yash Tibrewal
aab47cbdf2
Merge pull request #15941 from yashykt/fathomtcpchanges
...
Fathom tcp changes
2018-08-24 12:27:56 -07:00
Vijay Pai
a4326eb7b8
Add comment to address reviewer comment
2018-08-13 23:01:23 -07:00
Vijay Pai
a0e92e7727
Add proper synchronization so that stats are setup and destroyed cleanly
2018-08-10 15:48:48 -07:00
Vijay Pai
9043a4f56d
Some cleanup
2018-08-10 06:11:40 +00:00
Vijay Pai
17e3611c0d
Infrastructure for adding custom polling engines
2018-08-09 12:39:30 -07:00
Yash Tibrewal
f0397933b0
Fathom TCP level changes. TracedBuffer for keeping track of all buffers
...
to be traced. Adding tests for Fathom and TracedBuffer. A lot more.
Please read PR description.
2018-07-16 16:28:15 -07:00
Juanli Shen
f5f1d57d7a
Add load reporting filter
2018-06-22 10:00:48 -07:00
ncteisen
77472309d5
Add channel creation benchmark
2018-06-21 10:30:49 -07:00
Mark D. Roth
547bb5e66f
Merge pull request #15782 from markdroth/recv_trailing_metadata_ready3
...
Third attempt: move recv_trailing_metadata into its own callback, don't use on_complete for recv_ops
2018-06-19 07:40:31 -07:00
Jim King
01cbab60f3
Merge pull request #15070 from Vizerai/filter_port
...
Adding opencensus grpc plugin with bazel support.
2018-06-18 17:01:26 -07:00
adelez
5bdd9a8cb9
Revert "Revert "Add suppressions to sanitizers for bazel builds""
2018-06-15 16:31:21 -07:00
Noah Eisen
58e0cbf9fb
Enable the performance-* clang-tidy checks
2018-06-14 14:58:09 -04:00
Nicolas Noble
43557fee0b
Revert "Add suppressions to sanitizers for bazel builds"
2018-06-14 10:49:11 -07:00
Mark D. Roth
817d28fed6
Revert "Merge pull request #15746 from grpc/revert-15709-recv_trailing_metadata_ready2"
...
This reverts commit 3f9308ce1f , reversing
changes made to 92a0ae0b10 .
2018-06-14 09:44:58 -07:00
Adele Zhou
4cd659505c
Add data param to grpc_cc_library
2018-06-13 15:36:28 -07:00