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

[coro_rpc_client][improve]avoid create timer everytime when call rpc #643

Merged
merged 2 commits into from
Mar 20, 2024

Conversation

qicosmos
Copy link
Collaborator

Why

avoid create timer every time when call rpc, to improve performance of coro_rpc_client.

What is changing

make the timer as member variable.

Example

Copy link

Code Coverage Report
for detail, goto summary download Artifacts

Filename                                       Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
coro_io/channel.hpp                                   14                 0   100.00%         105                 3    97.14%          30                 2    93.33%
coro_io/client_pool.hpp                               29                 1    96.55%         358                56    84.36%         140                42    70.00%
coro_io/coro_file.hpp                                 22                 2    90.91%         213                46    78.40%          56                21    62.50%
coro_io/coro_io.hpp                                   45                 1    97.78%         252                 9    96.43%           4                 0   100.00%
coro_io/detail/client_queue.hpp                       10                 1    90.00%          47                 1    97.87%          10                 0   100.00%
coro_io/io_context_pool.hpp                           34                 3    91.18%         206                19    90.78%          26                 6    76.92%
coro_io/rate_limiter.hpp                              13                 1    92.31%          85                 9    89.41%           8                 3    62.50%
coro_rpc/impl/common_service.hpp                       1                 0   100.00%           8                 0   100.00%           4                 0   100.00%
coro_rpc/impl/coro_connection.hpp                     25                 7    72.00%         267               149    44.19%          80                57    28.75%
coro_rpc/impl/coro_rpc_client.hpp                     20                 5    75.00%         166                18    89.16%          44                11    75.00%
coro_rpc/impl/coro_rpc_server.hpp                     12                 0   100.00%         174                16    90.80%          62                29    53.23%
coro_rpc/impl/errno.h                                 10                 3    70.00%          43                31    27.91%          26                13    50.00%
coro_rpc/impl/protocol/coro_rpc_protocol.hpp           6                 1    83.33%          83                26    68.67%          24                 9    62.50%
coro_rpc/impl/router.hpp                               5                 0   100.00%          93                17    81.72%          30                13    56.67%
easylog.hpp                                            8                 0   100.00%          41                 3    92.68%          12                 4    66.67%
easylog/appender.hpp                                  22                 0   100.00%         266                18    93.23%          88                26    70.45%
easylog/record.hpp                                    17                 0   100.00%         111                 4    96.40%          16                 2    87.50%
struct_pack.hpp                                        3                 2    33.33%          29                 7    75.86%           0                 0         -
struct_pack/calculate_size.hpp                         7                 0   100.00%         215                17    92.09%           6                 5    16.67%
struct_pack/derived_helper.hpp                         2                 2     0.00%           6                 6     0.00%           0                 0         -
struct_pack/endian_wrapper.hpp                         6                 3    50.00%          86                28    67.44%           2                 1    50.00%
struct_pack/error_code.hpp                             6                 6     0.00%          30                30     0.00%           0                 0         -
struct_pack/foreach_macro.h                            1                 1     0.00%           1                 1     0.00%           0                 0         -
struct_pack/md5_constexpr.hpp                          7                 7     0.00%          31                31     0.00%           0                 0         -
struct_pack/packer.hpp                                 9                 2    77.78%         385                27    92.99%          18                13    27.78%
struct_pack/reflection.hpp                             9                 6    33.33%         628                81    87.10%           0                 0         -
struct_pack/size_info.hpp                              2                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/tuple.hpp                                  1                 1     0.00%           1                 1     0.00%           0                 0         -
struct_pack/type_calculate.hpp                        21                21     0.00%         479               479     0.00%           0                 0         -
struct_pack/type_id.hpp                                2                 2     0.00%         198               198     0.00%           0                 0         -
struct_pack/util.h                                     5                 3    40.00%          43                14    67.44%           2                 0   100.00%
struct_pack/varint.hpp                                 1                 1     0.00%           3                 3     0.00%           0                 0         -
util/concurrentqueue.h                                79                19    75.95%        1249               546    56.29%         292               151    48.29%
util/dragonbox.h                                      90                50    44.44%         735               388    47.21%          38                34    10.53%
util/dragonbox_to_chars.h                              6                 2    66.67%         440               381    13.41%          54                46    14.81%
util/expected.hpp                                     17                 3    82.35%          21                 3    85.71%           2                 0   100.00%
util/function_name.h                                   1                 1     0.00%           7                 7     0.00%           0                 0         -
util/meta_string.hpp                                  10                 3    70.00%          46                23    50.00%           8                 0   100.00%
util/time_util.h                                      13                13     0.00%         156               156     0.00%           0                 0         -

Files which contain no functions:
struct_pack/marco.h                                    0                 0         -           0                 0         -           0                 0         -
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                                591               173    70.73%        7317              2852    61.02%        1082               488    54.90%

Copy link

Code Coverage Report
for detail, goto summary download Artifacts

Filename                                       Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
coro_io/channel.hpp                                   14                 0   100.00%         105                 3    97.14%          30                 2    93.33%
coro_io/client_pool.hpp                               29                 1    96.55%         358                67    81.28%         140                51    63.57%
coro_io/coro_file.hpp                                 22                 2    90.91%         213                46    78.40%          56                21    62.50%
coro_io/coro_io.hpp                                   45                 1    97.78%         252                 9    96.43%           4                 0   100.00%
coro_io/detail/client_queue.hpp                       10                 1    90.00%          47                 1    97.87%          10                 1    90.00%
coro_io/io_context_pool.hpp                           34                 3    91.18%         206                19    90.78%          26                 6    76.92%
coro_io/rate_limiter.hpp                              13                 1    92.31%          85                 9    89.41%           8                 3    62.50%
coro_rpc/impl/common_service.hpp                       1                 0   100.00%           8                 0   100.00%           4                 0   100.00%
coro_rpc/impl/coro_connection.hpp                     25                 7    72.00%         267               149    44.19%          80                56    30.00%
coro_rpc/impl/coro_rpc_client.hpp                     20                 5    75.00%         166                18    89.16%          44                12    72.73%
coro_rpc/impl/coro_rpc_server.hpp                     12                 0   100.00%         174                16    90.80%          62                27    56.45%
coro_rpc/impl/errno.h                                 10                 3    70.00%          43                31    27.91%          26                13    50.00%
coro_rpc/impl/protocol/coro_rpc_protocol.hpp           6                 1    83.33%          83                26    68.67%          24                 9    62.50%
coro_rpc/impl/router.hpp                               5                 0   100.00%          93                17    81.72%          30                13    56.67%
easylog.hpp                                            8                 0   100.00%          41                 3    92.68%          12                 4    66.67%
easylog/appender.hpp                                  22                 0   100.00%         266                18    93.23%          88                26    70.45%
easylog/record.hpp                                    17                 0   100.00%         111                 4    96.40%          16                 2    87.50%
struct_pack.hpp                                        3                 2    33.33%          29                 7    75.86%           0                 0         -
struct_pack/calculate_size.hpp                         7                 0   100.00%         215                17    92.09%           6                 5    16.67%
struct_pack/derived_helper.hpp                         2                 2     0.00%           6                 6     0.00%           0                 0         -
struct_pack/endian_wrapper.hpp                         6                 3    50.00%          86                28    67.44%           2                 1    50.00%
struct_pack/error_code.hpp                             6                 6     0.00%          30                30     0.00%           0                 0         -
struct_pack/foreach_macro.h                            1                 1     0.00%           1                 1     0.00%           0                 0         -
struct_pack/md5_constexpr.hpp                          7                 7     0.00%          31                31     0.00%           0                 0         -
struct_pack/packer.hpp                                 9                 2    77.78%         385                27    92.99%          18                13    27.78%
struct_pack/reflection.hpp                             9                 6    33.33%         628                81    87.10%           0                 0         -
struct_pack/size_info.hpp                              2                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/tuple.hpp                                  1                 1     0.00%           1                 1     0.00%           0                 0         -
struct_pack/type_calculate.hpp                        21                21     0.00%         479               479     0.00%           0                 0         -
struct_pack/type_id.hpp                                2                 2     0.00%         198               198     0.00%           0                 0         -
struct_pack/util.h                                     5                 3    40.00%          43                14    67.44%           2                 0   100.00%
struct_pack/varint.hpp                                 1                 1     0.00%           3                 3     0.00%           0                 0         -
util/concurrentqueue.h                                79                19    75.95%        1249               575    53.96%         292               158    45.89%
util/dragonbox.h                                      90                50    44.44%         735               388    47.21%          38                34    10.53%
util/dragonbox_to_chars.h                              6                 2    66.67%         440               381    13.41%          54                46    14.81%
util/expected.hpp                                     17                 3    82.35%          21                 3    85.71%           2                 0   100.00%
util/function_name.h                                   1                 1     0.00%           7                 7     0.00%           0                 0         -
util/meta_string.hpp                                  10                 3    70.00%          46                23    50.00%           8                 0   100.00%
util/time_util.h                                      13                13     0.00%         156               156     0.00%           0                 0         -

Files which contain no functions:
struct_pack/marco.h                                    0                 0         -           0                 0         -           0                 0         -
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                                591               173    70.73%        7317              2892    60.48%        1082               503    53.51%

@poor-circle poor-circle merged commit 3b73dfa into alibaba:main Mar 20, 2024
33 checks passed
@qicosmos qicosmos deleted the fix_client_timer branch March 20, 2024 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants