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

Even More Clang Tidy: performance-* #15681

Merged
merged 3 commits into from
Jun 15, 2018
Merged

Conversation

ncteisen
Copy link
Contributor

@ncteisen ncteisen commented Jun 8, 2018

Built on #15680.

Working towards #14085.

Enables all performance-* checks and makes them pass. Most were done automatically, the second commit was done manually

@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]


****************************************************************

libgrpc++.so

     VM SIZE                                                          FILE SIZE
 ++++++++++++++ GROWING                                            ++++++++++++++

 -------------- SHRINKING                                          --------------
  -1.2%    -407 src/cpp/server/server_cc.cc                           -407  -1.2%
     -12.2%    -218 grpc::Server::Server                                  -218 -12.2%
     -11.3%    -183 grpc::Server::SyncRequestThreadManager::DoWork        -183 -11.3%
      -1.5%      -6 [Unmapped]                                              -6  -1.5%

 -+-+-+-+-+-+-+ MIXED                                              +-+-+-+-+-+-+-
  +0.0%     +11 [None]                                             -4.90Ki  -0.1%

  -0.1%    -396 TOTAL                                              -5.30Ki  -0.1%



@grpc-testing
Copy link

[trickle] No significant performance differences

@grpc-testing
Copy link

[microbenchmarks] Performance differences noted:
Benchmark                                                                                 cpu_time    real_time
----------------------------------------------------------------------------------------  ----------  -----------
BM_PumpStreamClientToServer<InProcess>/262144                                             -8%         -8%
BM_PumpStreamServerToClient<InProcess>/32768                                              -5%         -5%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/262144/1                     +4%         +4%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/262144/2                     +4%         +4%
BM_StreamingPingPongMsgs<InProcess, NoOpMutator, NoOpMutator>/32768                       +7%         +7%
BM_StreamingPingPongWithCoalescingApi<InProcess, NoOpMutator, NoOpMutator>/262144/2/1     +7%         +7%
BM_StreamingPingPongWithCoalescingApi<MinInProcess, NoOpMutator, NoOpMutator>/262144/1/0  +4%         +4%
BM_StreamingPingPongWithCoalescingApi<MinInProcess, NoOpMutator, NoOpMutator>/262144/2/1  +9%         +9%
BM_UnaryPingPong<InProcess, NoOpMutator, NoOpMutator>/0/262144                            -4%         -4%
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/0/2097152                        -4%         -4%

@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]


****************************************************************

libgrpc++.so

     VM SIZE                                                          FILE SIZE
 ++++++++++++++ GROWING                                            ++++++++++++++

 -------------- SHRINKING                                          --------------
  -1.2%    -407 src/cpp/server/server_cc.cc                           -407  -1.2%
     -12.2%    -218 grpc::Server::Server                                  -218 -12.2%
     -11.3%    -183 grpc::Server::SyncRequestThreadManager::DoWork        -183 -11.3%
      -1.5%      -6 [Unmapped]                                              -6  -1.5%

 -+-+-+-+-+-+-+ MIXED                                              +-+-+-+-+-+-+-
  +0.0%     +11 [None]                                             -4.90Ki  -0.1%

  -0.1%    -396 TOTAL                                              -5.30Ki  -0.1%



@grpc-testing
Copy link

[trickle] No significant performance differences

@ncteisen ncteisen mentioned this pull request Jun 8, 2018
@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]


****************************************************************

libgrpc++.so

     VM SIZE                                                          FILE SIZE
 ++++++++++++++ GROWING                                            ++++++++++++++

 -------------- SHRINKING                                          --------------
  -1.2%    -407 src/cpp/server/server_cc.cc                           -407  -1.2%
     -12.2%    -218 grpc::Server::Server                                  -218 -12.2%
     -11.3%    -183 grpc::Server::SyncRequestThreadManager::DoWork        -183 -11.3%
      -1.5%      -6 [Unmapped]                                              -6  -1.5%

 -+-+-+-+-+-+-+ MIXED                                              +-+-+-+-+-+-+-
  +0.0%     +11 [None]                                             -4.90Ki  -0.1%

  -0.1%    -396 TOTAL                                              -5.30Ki  -0.1%



@grpc-testing
Copy link

[trickle] No significant performance differences

@grpc-testing
Copy link

[microbenchmarks] Performance differences noted:
Benchmark                                                                              cpu_time    real_time
-------------------------------------------------------------------------------------  ----------  -----------
BM_StreamingPingPongWithCoalescingApi<InProcess, NoOpMutator, NoOpMutator>/262144/1/1  +6%         +6%
BM_StreamingPingPongWithCoalescingApi<InProcess, NoOpMutator, NoOpMutator>/262144/2/0  +4%         +4%
BM_StreamingPingPongWithCoalescingApi<InProcess, NoOpMutator, NoOpMutator>/262144/2/1  +4%         +4%

@grpc-testing
Copy link

[microbenchmarks] Performance differences noted:
Benchmark                                                                                 cpu_time    real_time
----------------------------------------------------------------------------------------  ----------  -----------
BM_PumpStreamServerToClient<InProcess>/262144                                             -8%         -8%
BM_StreamingPingPongMsgs<MinInProcess, NoOpMutator, NoOpMutator>/262144                   +8%         +8%
BM_StreamingPingPongWithCoalescingApi<MinInProcess, NoOpMutator, NoOpMutator>/262144/2/1  +6%         +6%
BM_StreamingPingPongWithCoalescingApi<MinInProcess, NoOpMutator, NoOpMutator>/32768/2/1   +4%         +4%

@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]


****************************************************************

libgrpc++.so

     VM SIZE                                                          FILE SIZE
 ++++++++++++++ GROWING                                            ++++++++++++++

 -------------- SHRINKING                                          --------------
  -1.2%    -407 src/cpp/server/server_cc.cc                           -407  -1.2%
     -12.2%    -218 grpc::Server::Server                                  -218 -12.2%
     -11.3%    -183 grpc::Server::SyncRequestThreadManager::DoWork        -183 -11.3%
      -1.5%      -6 [Unmapped]                                              -6  -1.5%

 -+-+-+-+-+-+-+ MIXED                                              +-+-+-+-+-+-+-
  +0.0%     +11 [None]                                             -4.90Ki  -0.1%

  -0.1%    -396 TOTAL                                              -5.30Ki  -0.1%



@grpc-testing
Copy link

[trickle] No significant performance differences

@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]


****************************************************************

libgrpc++.so

     VM SIZE                                                          FILE SIZE
 ++++++++++++++ GROWING                                            ++++++++++++++

 -------------- SHRINKING                                          --------------
  -1.2%    -407 src/cpp/server/server_cc.cc                           -407  -1.2%
     -12.2%    -218 grpc::Server::Server                                  -218 -12.2%
     -11.3%    -183 grpc::Server::SyncRequestThreadManager::DoWork        -183 -11.3%
      -1.5%      -6 [Unmapped]                                              -6  -1.5%

 -+-+-+-+-+-+-+ MIXED                                              +-+-+-+-+-+-+-
  +0.0%     +11 [None]                                             -4.90Ki  -0.1%

  -0.1%    -396 TOTAL                                              -5.30Ki  -0.1%



@grpc-testing
Copy link

[trickle] No significant performance differences

@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]


****************************************************************

libgrpc++.so

     VM SIZE                                                          FILE SIZE
 ++++++++++++++ GROWING                                            ++++++++++++++

 -------------- SHRINKING                                          --------------
  -1.2%    -407 src/cpp/server/server_cc.cc                           -407  -1.2%
     -12.2%    -218 grpc::Server::Server                                  -218 -12.2%
     -11.3%    -183 grpc::Server::SyncRequestThreadManager::DoWork        -183 -11.3%
      -1.5%      -6 [Unmapped]                                              -6  -1.5%

 -+-+-+-+-+-+-+ MIXED                                              +-+-+-+-+-+-+-
  +0.0%     +11 [None]                                             -4.90Ki  -0.1%

  -0.1%    -396 TOTAL                                              -5.30Ki  -0.1%



@grpc-testing
Copy link

[microbenchmarks] No significant performance differences

@grpc-testing
Copy link

[trickle] No significant performance differences

@grpc-testing
Copy link

[microbenchmarks] Performance differences noted:
Benchmark                                                                cpu_time    real_time
-----------------------------------------------------------------------  ----------  -----------
BM_PumpStreamClientToServer<InProcess>/262144                            +5%         +5%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/262144/2    -4%         -4%
BM_StreamingPingPongMsgs<MinInProcess, NoOpMutator, NoOpMutator>/262144  -4%         -4%
BM_StreamingPingPongMsgs<MinInProcess, NoOpMutator, NoOpMutator>/32768   -5%         -5%
BM_UnaryPingPong<InProcess, NoOpMutator, NoOpMutator>/0/2097152          +4%         +4%
BM_UnaryPingPong<InProcess, NoOpMutator, NoOpMutator>/262144/262144      +5%         +5%
BM_UnaryPingPong<InProcess, NoOpMutator, NoOpMutator>/32768/32768        +4%         +4%
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/0/2097152       +8%         +8%

@grpc-testing
Copy link

[microbenchmarks] No significant performance differences

@ncteisen ncteisen mentioned this pull request Jun 11, 2018
@ncteisen
Copy link
Contributor Author

Tests are green, ready for review

@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]


****************************************************************

libgrpc++.so

     VM SIZE                                                          FILE SIZE
 ++++++++++++++ GROWING                                            ++++++++++++++

 -------------- SHRINKING                                          --------------
  -0.0%     -21 [None]                                             -4.86Ki  -0.1%
  -1.2%    -407 src/cpp/server/server_cc.cc                           -407  -1.2%
     -12.2%    -218 grpc::Server::Server                                  -218 -12.2%
     -11.3%    -183 grpc::Server::SyncRequestThreadManager::DoWork        -183 -11.3%
      -1.5%      -6 [Unmapped]                                              -6  -1.5%

  -0.1%    -428 TOTAL                                              -5.26Ki  -0.1%



@ncteisen
Copy link
Contributor Author

Rebased to merge together manual changes

@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]


****************************************************************

libgrpc++.so

     VM SIZE                                                          FILE SIZE
 ++++++++++++++ GROWING                                            ++++++++++++++

 -------------- SHRINKING                                          --------------
  -0.0%     -21 [None]                                             -4.86Ki  -0.1%
  -1.2%    -407 src/cpp/server/server_cc.cc                           -407  -1.2%
     -12.2%    -218 grpc::Server::Server                                  -218 -12.2%
     -11.3%    -183 grpc::Server::SyncRequestThreadManager::DoWork        -183 -11.3%
      -1.5%      -6 [Unmapped]                                              -6  -1.5%

  -0.1%    -428 TOTAL                                              -5.26Ki  -0.1%



@grpc-testing
Copy link

[trickle] No significant performance differences

1 similar comment
@grpc-testing
Copy link

[trickle] No significant performance differences

@grpc-testing
Copy link

[microbenchmarks] No significant performance differences

1 similar comment
@grpc-testing
Copy link

[microbenchmarks] No significant performance differences

@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]


****************************************************************

libgrpc++.so

     VM SIZE                                                          FILE SIZE
 ++++++++++++++ GROWING                                            ++++++++++++++

 -------------- SHRINKING                                          --------------
  -0.0%     -21 [None]                                             -4.86Ki  -0.1%
  -1.2%    -407 src/cpp/server/server_cc.cc                           -407  -1.2%
     -12.2%    -218 grpc::Server::Server                                  -218 -12.2%
     -11.3%    -183 grpc::Server::SyncRequestThreadManager::DoWork        -183 -11.3%
      -1.5%      -6 [Unmapped]                                              -6  -1.5%

  -0.1%    -428 TOTAL                                              -5.26Ki  -0.1%



@grpc-testing
Copy link

[trickle] No significant performance differences

@grpc-testing
Copy link

[microbenchmarks] No significant performance differences

@ncteisen
Copy link
Contributor Author

This PRs successor, #15684, has actual failure I am looking into. This one does not. Let's push forward and merge this one to make the investigation of the next one easier

@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]


****************************************************************

libgrpc++.so

     VM SIZE                                                          FILE SIZE
 ++++++++++++++ GROWING                                            ++++++++++++++

 -------------- SHRINKING                                          --------------
  -0.0%     -21 [None]                                             -4.86Ki  -0.1%
  -1.2%    -407 src/cpp/server/server_cc.cc                           -407  -1.2%
     -12.2%    -218 grpc::Server::Server                                  -218 -12.2%
     -11.3%    -183 grpc::Server::SyncRequestThreadManager::DoWork        -183 -11.3%
      -1.5%      -6 [Unmapped]                                              -6  -1.5%

  -0.1%    -428 TOTAL                                              -5.26Ki  -0.1%



@grpc-testing
Copy link

[trickle] No significant performance differences

@grpc-testing
Copy link

[microbenchmarks] Performance differences noted:
Benchmark                                                                              cpu_time    real_time
-------------------------------------------------------------------------------------  ----------  -----------
BM_PumpStreamServerToClient<InProcess>/262144                                          -11%        -11%
BM_StreamingPingPongMsgs<InProcess, NoOpMutator, NoOpMutator>/262144                   -6%         -6%
BM_StreamingPingPongMsgs<InProcess, NoOpMutator, NoOpMutator>/32768                    -7%         -7%
BM_StreamingPingPongMsgs<MinInProcess, NoOpMutator, NoOpMutator>/32768                 -8%         -8%
BM_StreamingPingPongWithCoalescingApi<InProcess, NoOpMutator, NoOpMutator>/262144/1/1  -6%         -6%
BM_UnaryPingPong<InProcess, NoOpMutator, NoOpMutator>/0/262144                         +5%         +5%

@ncteisen
Copy link
Contributor Author

#15029
#14245

@ncteisen ncteisen merged commit bd6ac0f into grpc:master Jun 15, 2018
@ncteisen ncteisen deleted the even-more-clang branch June 15, 2018 14:43
@ncteisen ncteisen added the release notes: no Indicates if PR should not be in release notes label Jul 19, 2018
@lock lock bot locked as resolved and limited conversation to collaborators Oct 17, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area/core kind/enhancement priority/P3 release notes: no Indicates if PR should not be in release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants