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

Threading robustness #10583

Merged
merged 4 commits into from
Apr 14, 2017
Merged

Threading robustness #10583

merged 4 commits into from
Apr 14, 2017

Conversation

ctiller
Copy link
Member

@ctiller ctiller commented Apr 11, 2017

Move server startup to a separate thread.
Where there is no opportunity for failure, do not return bool.

Move server startup to a separate thread.
Where there is no opportunity for failure, do not return bool.
@grpc-kokoro
Copy link

Performance differences noted:
Benchmark     allocs_per_iteration    atm_add_per_iteration    atm_cas_per_iteration      cpu_time  locks_per_iteration      real_time  writes_per_iteration
------------  ----------------------  -----------------------  -----------------------  ----------  ---------------------  -----------  ----------------------
BM_EmptyCore                                                                                +65.00                              +65.00

@ctiller
Copy link
Member Author

ctiller commented Apr 12, 2017

Test this please

@grpc-kokoro
Copy link

No significant performance differences

@grpc-kokoro
Copy link

No significant performance differences

@grpc-kokoro
Copy link

No significant performance differences

@ctiller
Copy link
Member Author

ctiller commented Apr 13, 2017

Ready for review

@@ -124,7 +124,7 @@ class ServerInterface : public CallHook {
/// \param num_cqs How many completion queues does \a cqs hold.
///
/// \return true on a successful shutdown.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update comments?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@@ -179,7 +179,7 @@ class Server final : public ServerInterface, private GrpcLibraryCodegen {
/// \param num_cqs How many completion queues does \a cqs hold.
///
/// \return true on a successful shutdown.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

comments?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@grpc-kokoro
Copy link

Performance differences noted:
Benchmark                                        cpu_time    real_time
---------------------------------------------  ----------  -----------
BM_CreateDestroyCore                               -30.50       -30.50
BM_ErrorHttpError<ErrorWithHttpError>               +9.50        +9.50
BM_IsolatedFilter<ServerDeadlineFilter, NoOp>      +12.50       +12.50
BM_SliceIntern                                     +14.00       +14.00
BM_SliceReIntern                                   +14.50       +14.50
BM_TransportStreamRecv/64                         -160.50      -160.50
BM_TransportStreamRecv/8                          -192.00      -192.00

@ctiller
Copy link
Member Author

ctiller commented Apr 14, 2017

Failed: #9542 #10539

@ctiller ctiller merged commit 9575627 into grpc:master Apr 14, 2017
@lock lock bot locked as resolved and limited conversation to collaborators Jan 23, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants