Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/5905 )

Change subject: KUDU-1865 (part 1): reduce some cross-thread allocations
......................................................................


Patch Set 7:

> I am curious, Did you see an improvement in some of the RPC
 > benchmarks as a result of this change?

The improvements are minuscule and sometimes there is improvement at all in 
synthetic test scenarios (such as GetTableLocations and GetTableSchema 
concurrent RPC scenarios).  I also tried to replace std::function with 
boost::function in ReactorTask, and that helps a bit with number of allocations 
per tcmalloc's allocation tracing, but not much as for the real-world 
benchmarks.

Below are some results:

    GetTableLocations RPC (RELEASE build with third-party CLANG, 60 seconds):
      Without patch: 15528.3 req/sec
      With    patch: 15535.4 req/sec

    ------------------------------------------------------------------------

    GetTableSchema RPC (RELEASE build with third-party CLANG, 60 seconds):
      Without patch: 103892 req/sec
      With    patch: 102711 req/sec

    Results from rpc-bench, 60 seconds runtime
      Mode:            Sync
      Client threads:   16
      Worker threads:   1
      Server reactors:  4
      Encryption:       0
    (RELEASE build with third-party CLANG):

    Without patch:
      Reqs/sec:         68191.4
      User CPU per req: 34.8228us
      Sys CPU per req:  172.426us
      Ctx Sw. per req:  3.58111
      Server reactor load histogram
      Count: 11980
      Mean: 36.4902
      Percentiles:
         0%  (min) = 16
        25%        = 26
        50%  (med) = 28
        75%        = 31
        95%        = 78
        99%        = 84
        99.9%      = 88
        99.99%     = 90
        100% (max) = 91
      Server reactor latency histogram
      Count: 13517690
      Mean: 29.8539
      Percentiles:
         0%  (min) = 0
        25%        = 18
        50%  (med) = 28
        75%        = 36
        95%        = 58
        99%        = 86
        99.9%      = 135
        99.99%     = 191
        100% (max) = 28239

    ----------------------------------

    With patch:
      Reqs/sec:         67295.2
      User CPU per req: 37.7613us
      Sys CPU per req:  171.141us
      Ctx Sw. per req:  3.59101
      Server reactor load histogram
      Count: 11979
      Mean: 36.1685
      Percentiles:
         0%  (min) = 16
        25%        = 26
        50%  (med) = 28
        75%        = 32
        95%        = 80
        99%        = 87
        99.9%      = 91
        99.99%     = 93
        100% (max) = 93
      Server reactor latency histogram
      Count: 13141249
      Mean: 30.3945
      Percentiles:
         0%  (min) = 0
        25%        = 18
        50%  (med) = 29
        75%        = 37
        95%        = 58
        99%        = 86
        99.9%      = 141
        99.99%     = 204
        100% (max) = 26220


--
To view, visit http://gerrit.cloudera.org:8080/5905
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I7d4d5f14fb302196b1797c712b21cfce81f157c1
Gerrit-Change-Number: 5905
Gerrit-PatchSet: 7
Gerrit-Owner: Todd Lipcon <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Andrew Wong <[email protected]>
Gerrit-Reviewer: Bankim Bhavsar <[email protected]>
Gerrit-Reviewer: David Ribeiro Alves <[email protected]>
Gerrit-Reviewer: Grant Henke <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Michael Ho <[email protected]>
Gerrit-Reviewer: Sailesh Mukil <[email protected]>
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Todd Lipcon <[email protected]>
Gerrit-Comment-Date: Tue, 26 May 2020 22:31:39 +0000
Gerrit-HasComments: No

Reply via email to