Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove dedicated thread for ruby bidi read loop #7669

Merged
merged 1 commit into from
Aug 15, 2016

Conversation

apolcyn
Copy link
Contributor

@apolcyn apolcyn commented Aug 8, 2016

This removes the extra thread for the read loop on bidi calls, which used to read and push onto a queue that would be popped from in the handler. This changes the enumerator of remote reads to do a remote read on every #next.

This seemed to have good performance results. Testing on a single 8-core, 30gb host, this had about 25% decrease/increase in latency/qps for constrained streaming, and about 15 to 20% for unconstrained streaming.

@apolcyn apolcyn force-pushed the reduce_bidi_threads_ga branch from 636b9e5 to dc3d561 Compare August 8, 2016 23:30
@apolcyn
Copy link
Contributor Author

apolcyn commented Aug 8, 2016

latest forced update removes the update to protobuf submodule

@murgatroid99
Copy link
Member

LGTM

@apolcyn
Copy link
Contributor Author

apolcyn commented Aug 10, 2016

python to ruby-server interop cancel_after_begin test hit a gpr_assert. This test in itself shouldn't have been touched by this PR, which only affects bidi calls, not sure if this is a real error.

@murgatroid99
Copy link
Member

I have seen a few instances of "python client to something server" failures recently with similar errors. I don't think that error is related to this change.

@kpayson64 kpayson64 merged commit e4947be into grpc:v1.0.x Aug 15, 2016
@lock lock bot locked as resolved and limited conversation to collaborators Jan 26, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants