alibaba / yalantinglibs

A collection of modern C++ libraries, include coro_rpc, struct_pack, struct_json, struct_xml, struct_pb, easylog, async_simple
https://alibaba.github.io/yalantinglibs/
Apache License 2.0
1.56k stars 240 forks source link

[metric] use sharded map for better parallel performance #789

Closed poor-circle closed 1 month ago

poor-circle commented 1 month ago

Why

What is changing

Example

github-actions[bot] commented 1 month ago

Code Coverage Report for detail, goto summary download Artifacts

Filename                                          Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
coro_io/client_pool.hpp                                  27                 0   100.00%         305                43    85.90%         104                37    64.42%
coro_io/coro_file.hpp                                    34                 0   100.00%         246                25    89.84%          44                19    56.82%
coro_io/coro_io.hpp                                      56                 8    85.71%         390                85    78.21%          10                 2    80.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                              37                 5    86.49%         215                26    87.91%          28                 8    71.43%
coro_io/load_blancer.hpp                                 15                 0   100.00%         111                 3    97.30%          34                 3    91.18%
coro_io/rate_limiter.hpp                                 13                 1    92.31%          85                 9    89.41%           8                 3    62.50%
coro_rpc/impl/common_service.hpp                          3                 0   100.00%          55                 0   100.00%          26                 7    73.08%
coro_rpc/impl/context.hpp                                 8                 0   100.00%         108                 6    94.44%          16                 6    62.50%
coro_rpc/impl/coro_connection.hpp                        46                10    78.26%         467                74    84.15%         114                37    67.54%
coro_rpc/impl/coro_rpc_client.hpp                        64                 8    87.50%         707               114    83.88%         162                56    65.43%
coro_rpc/impl/coro_rpc_server.hpp                        21                 1    95.24%         237                29    87.76%          82                36    56.10%
coro_rpc/impl/errno.h                                    18                 4    77.78%          64                40    37.50%          36                16    55.56%
coro_rpc/impl/protocol/coro_rpc_protocol.hpp              9                 1    88.89%         101                32    68.32%          24                 9    62.50%
coro_rpc/impl/protocol/struct_pack_protocol.hpp           3                 0   100.00%          14                 0   100.00%           0                 0         -
coro_rpc/impl/router.hpp                                 22                 0   100.00%         221                13    94.12%          26                13    50.00%
coro_rpc/impl/rpc_execute.hpp                             3                 0   100.00%         172                 0   100.00%           4                 1    75.00%
easylog.hpp                                              17                 0   100.00%          73                 3    95.89%          14                 5    64.29%
easylog/appender.hpp                                     23                 0   100.00%         275                16    94.18%          90                25    72.22%
easylog/record.hpp                                       17                 0   100.00%         121                14    88.43%          16                 2    87.50%
reflection/member_count.hpp                               2                 2     0.00%          38                38     0.00%           0                 0         -
reflection/member_ptr.hpp                                 3                 0   100.00%          23                 0   100.00%           0                 0         -
reflection/template_switch.hpp                            2                 1    50.00%         528               512     3.03%         514               251    51.17%
struct_pack.hpp                                          35                 2    94.29%         336                28    91.67%          34                14    58.82%
struct_pack/alignment.hpp                                 9                 9     0.00%         136               136     0.00%           0                 0         -
struct_pack/calculate_size.hpp                           21                 5    76.19%         407                82    79.85%          32                 7    78.12%
struct_pack/compatible.hpp                                6                 0   100.00%           9                 0   100.00%           6                 2    66.67%
struct_pack/derived_helper.hpp                           14                 7    50.00%         127                61    51.97%           6                 3    50.00%
struct_pack/endian_wrapper.hpp                            9                 3    66.67%         152                28    81.58%           2                 1    50.00%
struct_pack/error_code.hpp                               11                 6    45.45%          38                30    21.05%           0                 0         -
struct_pack/foreach_macro.h                               1                 0   100.00%           1                 0   100.00%           0                 0         -
struct_pack/md5_constexpr.hpp                            27                 3    88.89%         174                18    89.66%          32                 1    96.88%
struct_pack/packer.hpp                                   23                 2    91.30%         494                20    95.95%          48                 9    81.25%
struct_pack/reflection.hpp                               15                 9    40.00%        1868               113    93.95%           0                 0         -
struct_pack/size_info.hpp                                 2                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/trivial_view.hpp                              4                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/tuple.hpp                                    21                 2    90.48%          54                 4    92.59%           6                 3    50.00%
struct_pack/type_calculate.hpp                           38                31    18.42%         737               560    24.02%           0                 0         -
struct_pack/type_id.hpp                                   4                 4     0.00%         277               277     0.00%           0                 0         -
struct_pack/unpacker.hpp                                 50                 5    90.00%        1290               139    89.22%         210                88    58.10%
struct_pack/user_helper.hpp                               6                 0   100.00%          64                 3    95.31%           2                 1    50.00%
struct_pack/util.h                                       12                 7    41.67%         100                61    39.00%           2                 0   100.00%
struct_pack/varint.hpp                                   23                 3    86.96%         147                14    90.48%          12                 3    75.00%
util/concurrentqueue.h                                   78                19    75.64%        1251               571    54.36%         292               152    47.95%
util/dragonbox.h                                         90                50    44.44%         735               388    47.21%          38                34    10.53%
util/dragonbox_to_chars.h                                 6                 1    83.33%         440               365    17.05%          54                43    20.37%
util/expected.hpp                                        93                 7    92.47%         248                37    85.08%          44                17    61.36%
util/function_name.h                                      2                 1    50.00%          22                 7    68.18%           0                 0         -
util/magic_names.hpp                                      1                 1     0.00%          56                56     0.00%           0                 0         -
util/meta_string.hpp                                     10                 3    70.00%          46                23    50.00%           8                 0   100.00%
util/time_util.h                                         21                12    42.86%         184               119    35.33%          26                 5    80.77%
util/type_traits.h                                        1                 0   100.00%           9                 0   100.00%           0                 0         -

Files which contain no functions:
struct_pack/marco.h                                       0                 0         -           0                 0         -           0                 0         -
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                                  1086               234    78.45%       14025              4223    69.89%        2216               920    58.48%
github-actions[bot] commented 1 month ago

Code Coverage Report for detail, goto summary download Artifacts

Filename                                          Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
coro_io/client_pool.hpp                                  27                 0   100.00%         305                41    86.56%         104                36    65.38%
coro_io/coro_file.hpp                                    34                 0   100.00%         246                25    89.84%          44                19    56.82%
coro_io/coro_io.hpp                                      56                 8    85.71%         390                85    78.21%          10                 2    80.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                              37                 5    86.49%         215                26    87.91%          28                 8    71.43%
coro_io/load_blancer.hpp                                 15                 0   100.00%         111                 3    97.30%          34                 3    91.18%
coro_io/rate_limiter.hpp                                 13                 1    92.31%          85                 9    89.41%           8                 3    62.50%
coro_rpc/impl/common_service.hpp                          3                 0   100.00%          55                 0   100.00%          26                 7    73.08%
coro_rpc/impl/context.hpp                                 8                 0   100.00%         108                 6    94.44%          16                 6    62.50%
coro_rpc/impl/coro_connection.hpp                        46                10    78.26%         467                74    84.15%         114                37    67.54%
coro_rpc/impl/coro_rpc_client.hpp                        64                 8    87.50%         707               114    83.88%         162                56    65.43%
coro_rpc/impl/coro_rpc_server.hpp                        21                 1    95.24%         237                29    87.76%          82                36    56.10%
coro_rpc/impl/errno.h                                    18                 4    77.78%          64                40    37.50%          36                16    55.56%
coro_rpc/impl/protocol/coro_rpc_protocol.hpp              9                 1    88.89%         101                32    68.32%          24                 9    62.50%
coro_rpc/impl/protocol/struct_pack_protocol.hpp           3                 0   100.00%          14                 0   100.00%           0                 0         -
coro_rpc/impl/router.hpp                                 22                 0   100.00%         221                13    94.12%          26                13    50.00%
coro_rpc/impl/rpc_execute.hpp                             3                 0   100.00%         172                 0   100.00%           4                 1    75.00%
easylog.hpp                                              17                 0   100.00%          73                 3    95.89%          14                 5    64.29%
easylog/appender.hpp                                     23                 0   100.00%         275                16    94.18%          90                25    72.22%
easylog/record.hpp                                       17                 0   100.00%         121                14    88.43%          16                 2    87.50%
reflection/member_count.hpp                               2                 2     0.00%          38                38     0.00%           0                 0         -
reflection/member_ptr.hpp                                 3                 0   100.00%          23                 0   100.00%           0                 0         -
reflection/template_switch.hpp                            2                 1    50.00%         528               512     3.03%         514               251    51.17%
struct_pack.hpp                                          35                 2    94.29%         336                28    91.67%          34                14    58.82%
struct_pack/alignment.hpp                                 9                 9     0.00%         136               136     0.00%           0                 0         -
struct_pack/calculate_size.hpp                           21                 5    76.19%         407                82    79.85%          32                 7    78.12%
struct_pack/compatible.hpp                                6                 0   100.00%           9                 0   100.00%           6                 2    66.67%
struct_pack/derived_helper.hpp                           14                 7    50.00%         127                61    51.97%           6                 3    50.00%
struct_pack/endian_wrapper.hpp                            9                 3    66.67%         152                28    81.58%           2                 1    50.00%
struct_pack/error_code.hpp                               11                 6    45.45%          38                30    21.05%           0                 0         -
struct_pack/foreach_macro.h                               1                 0   100.00%           1                 0   100.00%           0                 0         -
struct_pack/md5_constexpr.hpp                            27                 3    88.89%         174                18    89.66%          32                 1    96.88%
struct_pack/packer.hpp                                   23                 2    91.30%         494                20    95.95%          48                 9    81.25%
struct_pack/reflection.hpp                               15                 9    40.00%        1868               113    93.95%           0                 0         -
struct_pack/size_info.hpp                                 2                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/trivial_view.hpp                              4                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/tuple.hpp                                    21                 2    90.48%          54                 4    92.59%           6                 3    50.00%
struct_pack/type_calculate.hpp                           38                31    18.42%         737               560    24.02%           0                 0         -
struct_pack/type_id.hpp                                   4                 4     0.00%         277               277     0.00%           0                 0         -
struct_pack/unpacker.hpp                                 50                 5    90.00%        1290               139    89.22%         210                88    58.10%
struct_pack/user_helper.hpp                               6                 0   100.00%          64                 3    95.31%           2                 1    50.00%
struct_pack/util.h                                       12                 7    41.67%         100                61    39.00%           2                 0   100.00%
struct_pack/varint.hpp                                   23                 3    86.96%         147                14    90.48%          12                 3    75.00%
util/concurrentqueue.h                                   78                19    75.64%        1251               575    54.04%         292               159    45.55%
util/dragonbox.h                                         90                50    44.44%         735               388    47.21%          38                34    10.53%
util/dragonbox_to_chars.h                                 6                 1    83.33%         440               365    17.05%          54                43    20.37%
util/expected.hpp                                        93                 7    92.47%         248                37    85.08%          44                17    61.36%
util/function_name.h                                      2                 1    50.00%          22                 7    68.18%           0                 0         -
util/magic_names.hpp                                      1                 1     0.00%          56                56     0.00%           0                 0         -
util/meta_string.hpp                                     10                 3    70.00%          46                23    50.00%           8                 0   100.00%
util/time_util.h                                         21                12    42.86%         184               119    35.33%          26                 5    80.77%
util/type_traits.h                                        1                 0   100.00%           9                 0   100.00%           0                 0         -

Files which contain no functions:
struct_pack/marco.h                                       0                 0         -           0                 0         -           0                 0         -
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                                  1086               234    78.45%       14025              4225    69.88%        2216               926    58.21%
github-actions[bot] commented 1 month ago

Code Coverage Report for detail, goto summary download Artifacts

Filename                                          Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
coro_io/client_pool.hpp                                  27                 0   100.00%         305                41    86.56%         104                38    63.46%
coro_io/coro_file.hpp                                    34                 0   100.00%         246                25    89.84%          44                19    56.82%
coro_io/coro_io.hpp                                      56                 8    85.71%         390                85    78.21%          10                 2    80.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                              37                 5    86.49%         215                26    87.91%          28                 8    71.43%
coro_io/load_blancer.hpp                                 15                 0   100.00%         111                 3    97.30%          34                 3    91.18%
coro_io/rate_limiter.hpp                                 13                 1    92.31%          85                 9    89.41%           8                 3    62.50%
coro_rpc/impl/common_service.hpp                          3                 0   100.00%          55                 0   100.00%          26                 7    73.08%
coro_rpc/impl/context.hpp                                 8                 0   100.00%         108                 6    94.44%          16                 6    62.50%
coro_rpc/impl/coro_connection.hpp                        46                10    78.26%         467                74    84.15%         114                39    65.79%
coro_rpc/impl/coro_rpc_client.hpp                        64                 8    87.50%         707               114    83.88%         162                56    65.43%
coro_rpc/impl/coro_rpc_server.hpp                        21                 1    95.24%         237                29    87.76%          82                36    56.10%
coro_rpc/impl/errno.h                                    18                 4    77.78%          64                40    37.50%          36                16    55.56%
coro_rpc/impl/protocol/coro_rpc_protocol.hpp              9                 1    88.89%         101                32    68.32%          24                 9    62.50%
coro_rpc/impl/protocol/struct_pack_protocol.hpp           3                 0   100.00%          14                 0   100.00%           0                 0         -
coro_rpc/impl/router.hpp                                 22                 0   100.00%         221                13    94.12%          26                13    50.00%
coro_rpc/impl/rpc_execute.hpp                             3                 0   100.00%         172                 0   100.00%           4                 1    75.00%
easylog.hpp                                              17                 0   100.00%          73                 3    95.89%          14                 5    64.29%
easylog/appender.hpp                                     23                 0   100.00%         275                16    94.18%          90                25    72.22%
easylog/record.hpp                                       17                 0   100.00%         121                14    88.43%          16                 2    87.50%
reflection/member_count.hpp                               2                 2     0.00%          38                38     0.00%           0                 0         -
reflection/member_ptr.hpp                                 3                 0   100.00%          23                 0   100.00%           0                 0         -
reflection/template_switch.hpp                            2                 1    50.00%         528               512     3.03%         514               251    51.17%
struct_pack.hpp                                          35                 2    94.29%         336                28    91.67%          34                14    58.82%
struct_pack/alignment.hpp                                 9                 9     0.00%         136               136     0.00%           0                 0         -
struct_pack/calculate_size.hpp                           21                 5    76.19%         407                82    79.85%          32                 7    78.12%
struct_pack/compatible.hpp                                6                 0   100.00%           9                 0   100.00%           6                 2    66.67%
struct_pack/derived_helper.hpp                           14                 7    50.00%         127                61    51.97%           6                 3    50.00%
struct_pack/endian_wrapper.hpp                            9                 3    66.67%         152                28    81.58%           2                 1    50.00%
struct_pack/error_code.hpp                               11                 6    45.45%          38                30    21.05%           0                 0         -
struct_pack/foreach_macro.h                               1                 0   100.00%           1                 0   100.00%           0                 0         -
struct_pack/md5_constexpr.hpp                            27                 3    88.89%         174                18    89.66%          32                 1    96.88%
struct_pack/packer.hpp                                   23                 2    91.30%         494                20    95.95%          48                 9    81.25%
struct_pack/reflection.hpp                               15                 9    40.00%        1868               113    93.95%           0                 0         -
struct_pack/size_info.hpp                                 2                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/trivial_view.hpp                              4                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/tuple.hpp                                    21                 2    90.48%          54                 4    92.59%           6                 3    50.00%
struct_pack/type_calculate.hpp                           38                31    18.42%         737               560    24.02%           0                 0         -
struct_pack/type_id.hpp                                   4                 4     0.00%         277               277     0.00%           0                 0         -
struct_pack/unpacker.hpp                                 50                 5    90.00%        1290               139    89.22%         210                88    58.10%
struct_pack/user_helper.hpp                               6                 0   100.00%          64                 3    95.31%           2                 1    50.00%
struct_pack/util.h                                       12                 7    41.67%         100                61    39.00%           2                 0   100.00%
struct_pack/varint.hpp                                   23                 3    86.96%         147                14    90.48%          12                 3    75.00%
util/concurrentqueue.h                                   78                19    75.64%        1251               564    54.92%         292               152    47.95%
util/dragonbox.h                                         90                50    44.44%         735               388    47.21%          38                34    10.53%
util/dragonbox_to_chars.h                                 6                 1    83.33%         440               365    17.05%          54                43    20.37%
util/expected.hpp                                        93                 7    92.47%         248                37    85.08%          44                17    61.36%
util/function_name.h                                      2                 1    50.00%          22                 7    68.18%           0                 0         -
util/magic_names.hpp                                      1                 1     0.00%          56                56     0.00%           0                 0         -
util/meta_string.hpp                                     10                 3    70.00%          46                23    50.00%           8                 0   100.00%
util/time_util.h                                         21                12    42.86%         184               119    35.33%          26                 5    80.77%
util/type_traits.h                                        1                 0   100.00%           9                 0   100.00%           0                 0         -

Files which contain no functions:
struct_pack/marco.h                                       0                 0         -           0                 0         -           0                 0         -
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                                  1086               234    78.45%       14025              4214    69.95%        2216               923    58.35%