[NEW]    +118 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +118  [NEW]
      [NEW]    +112 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +112  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::CoreCodegenInterface                                   +39  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::GrpcLibraryInterface                                   +39  [NEW]
      [NEW]     +37 typeinfo name for grpc::internal::GrpcLibraryCodegen                                     +37  [NEW]
      [NEW]     +32 vtable for grpc::internal::GrpcLibraryCodegen                                            +32  [NEW]
      [NEW]     +30 typeinfo name for grpc::internal::CoreCodegen                                            +30  [NEW]
       +25%     +26 [None]                                                                                0  [ = ]
      [NEW]     +24 typeinfo for grpc::internal::CoreCodegen                                                 +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryCodegen                                          +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::CoreCodegenInterface                                        +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryInterface                                        +16  [NEW]
      [NEW]      +8 grpc::(anonymous namespace)::g_plugin_factory_list                                         0  [ = ]
      [NEW]      +4 grpc::(anonymous namespace)::once_init_plugin_list                                         0  [ = ]
  +0.1%     +48 src/cpp/server/server_cc.cc                                                              +48  +0.1%
      [NEW]    +194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    +194  [NEW]
      +8.7%     +65 grpc::ServerInterface::GenericAsyncRequest::FinalizeResult                               +65  +8.7%
      [NEW]     +62 grpc::internal::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                +62  [NEW]
      +0.4%      +8 grpc::Server::Server                                                                      +8  +0.4%
      [NEW]      +5 grpc::ServerInterface::BaseAsyncRequest::generic_ctx                                      +5  [NEW]
   +58%     +39 src/cpp/server/server_posix.cc                                                           +39   +58%
      +186%     +39 grpc::AddInsecureChannelFromFd                                                           +39  +186%
  +0.4%     +16 src/cpp/client/client_context.cc                                                         +16  +0.4%
      +2.4%     +16 grpc::ClientContext::ClientContext                                                       +16  +2.4%
  +0.3%     +16 src/cpp/server/server_context.cc                                                         +16  +0.3%
      +2.8%     +10 grpc::ServerContext::ServerContext                                                       +10  +2.8%
      +5.9%      +6 [Unmapped]                                                                                +6  +5.9%

 -------------- SHRINKING                                                                            --------------
  -1.7%     -74 src/cpp/client/channel_cc.cc                                                             -74  -1.7%
      [DEL]    -663 grpc::Channel::WaitForStateChangeImpl                                                   -663  [DEL]
      [DEL]    -194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    -194  [DEL]
      -8.3%    -106 grpc::Channel::CreateCall                                                               -106  -8.3%
      [DEL]     -92 grpc::Channel::NotifyOnStateChangeImpl                                                   -92  [DEL]
      [DEL]     -62 grpc::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                          -62  [DEL]
  -1.3%     -38 src/cpp/common/alarm.cc                                                                  -38  -1.3%
     -25.5%     -38 _GLOBAL__sub_I_alarm.cc                                                                  -38 -25.5%
  -4.1%     -23 src/cpp/common/completion_queue_cc.cc                                                    -23  -4.1%
     -25.5%     -38 _GLOBAL__sub_I_completion_queue_cc.cc                                                    -38 -25.5%

  +0.3%    +976 TOTAL                                                                                +69.1Ki  +1.3%

[trickle] No significant performance differences

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

[microbenchmarks] Performance differences noted:
Benchmark                                   cpu_time    real_time
------------------------------------------  ----------  -----------
BM_HasClearGrpcStatus<ErrorWithGrpcStatus>  +6%         +6%

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

libgrpc.so

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

  [ = ]       0        0  [ = ]

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

libgrpc++.so

     VM SIZE                                                                                FILE SIZE
 ++++++++++++++ GROWING                                                                              ++++++++++++++
  +0.4%    +992 [None]                                                                               +69.2Ki  +1.4%
      +0.4%    +914 [Unmapped]                                                                           +69.1Ki  +1.4%
      [NEW]    +416 vtable for grpc::internal::CoreCodegen                                                  +416  [NEW]
      [NEW]    +118 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +118  [NEW]
      [NEW]    +112 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +112  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::CoreCodegenInterface                                   +39  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::GrpcLibraryInterface                                   +39  [NEW]
      [NEW]     +37 typeinfo name for grpc::internal::GrpcLibraryCodegen                                     +37  [NEW]
      [NEW]     +32 vtable for grpc::internal::GrpcLibraryCodegen                                            +32  [NEW]
      [NEW]     +30 typeinfo name for grpc::internal::CoreCodegen                                            +30  [NEW]
       +25%     +26 [None]                                                                                0  [ = ]
      [NEW]     +24 typeinfo for grpc::internal::CoreCodegen                                                 +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryCodegen                                          +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::CoreCodegenInterface                                        +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryInterface                                        +16  [NEW]
      [NEW]      +8 grpc::(anonymous namespace)::g_plugin_factory_list                                         0  [ = ]
      [NEW]      +4 grpc::(anonymous namespace)::once_init_plugin_list                                         0  [ = ]
  +0.1%     +48 src/cpp/server/server_cc.cc                                                              +48  +0.1%
      [NEW]    +194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    +194  [NEW]
      +8.7%     +65 grpc::ServerInterface::GenericAsyncRequest::FinalizeResult                               +65  +8.7%
      [NEW]     +62 grpc::internal::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                +62  [NEW]
      +0.4%      +8 grpc::Server::Server                                                                      +8  +0.4%
      [NEW]      +5 grpc::ServerInterface::BaseAsyncRequest::generic_ctx                                      +5  [NEW]
   +58%     +39 src/cpp/server/server_posix.cc                                                           +39   +58%
      +186%     +39 grpc::AddInsecureChannelFromFd                                                           +39  +186%
  +0.4%     +16 src/cpp/client/client_context.cc                                                         +16  +0.4%
      +2.4%     +16 grpc::ClientContext::ClientContext                                                       +16  +2.4%
  +0.3%     +16 src/cpp/server/server_context.cc                                                         +16  +0.3%
      +2.8%     +10 grpc::ServerContext::ServerContext                                                       +10  +2.8%
      +5.9%      +6 [Unmapped]                                                                                +6  +5.9%

 -------------- SHRINKING                                                                            --------------
  -1.7%     -74 src/cpp/client/channel_cc.cc                                                             -74  -1.7%
      [DEL]    -663 grpc::Channel::WaitForStateChangeImpl                                                   -663  [DEL]
      [DEL]    -194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    -194  [DEL]
      -8.3%    -106 grpc::Channel::CreateCall                                                               -106  -8.3%
      [DEL]     -92 grpc::Channel::NotifyOnStateChangeImpl                                                   -92  [DEL]
      [DEL]     -62 grpc::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                          -62  [DEL]
  -1.3%     -38 src/cpp/common/alarm.cc                                                                  -38  -1.3%
     -25.5%     -38 _GLOBAL__sub_I_alarm.cc                                                                  -38 -25.5%
  -4.1%     -23 src/cpp/common/completion_queue_cc.cc                                                    -23  -4.1%
     -25.5%     -38 _GLOBAL__sub_I_completion_queue_cc.cc                                                    -38 -25.5%

  +0.3%    +976 TOTAL                                                                                +69.2Ki  +1.3%

[microbenchmarks] Performance differences noted:
Benchmark                         cpu_time    real_time
--------------------------------  ----------  -----------
BM_HasClearGrpcStatus<ErrorNone>  -11%        -11%
BM_Zalloc/512                     +15%        +15%

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

libgrpc.so

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

  [ = ]       0        0  [ = ]

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

libgrpc++.so

     VM SIZE                                                                                FILE SIZE
 ++++++++++++++ GROWING                                                                              ++++++++++++++
  +0.4%    +992 [None]                                                                               +70.3Ki  +1.4%
      +0.4%    +914 [Unmapped]                                                                           +70.3Ki  +1.4%
      [NEW]    +416 vtable for grpc::internal::CoreCodegen                                                  +416  [NEW]
      [NEW]    +118 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +118  [NEW]
      [NEW]    +112 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +112  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::CoreCodegenInterface                                   +39  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::GrpcLibraryInterface                                   +39  [NEW]
      [NEW]     +37 typeinfo name for grpc::internal::GrpcLibraryCodegen                                     +37  [NEW]
      [NEW]     +32 vtable for grpc::internal::GrpcLibraryCodegen                                            +32  [NEW]
      [NEW]     +30 typeinfo name for grpc::internal::CoreCodegen                                            +30  [NEW]
       +25%     +26 [None]                                                                                0  [ = ]
      [NEW]     +24 typeinfo for grpc::internal::CoreCodegen                                                 +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryCodegen                                          +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::CoreCodegenInterface                                        +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryInterface                                        +16  [NEW]
      [NEW]      +8 grpc::(anonymous namespace)::g_plugin_factory_list                                         0  [ = ]
      [NEW]      +4 grpc::(anonymous namespace)::once_init_plugin_list                                         0  [ = ]
  +0.1%     +48 src/cpp/server/server_cc.cc                                                              +48  +0.1%
      [NEW]    +194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    +194  [NEW]
      +8.7%     +65 grpc::ServerInterface::GenericAsyncRequest::FinalizeResult                               +65  +8.7%
      [NEW]     +62 grpc::internal::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                +62  [NEW]
      +0.4%      +8 grpc::Server::Server                                                                      +8  +0.4%
      [NEW]      +5 grpc::ServerInterface::BaseAsyncRequest::generic_ctx                                      +5  [NEW]
   +58%     +39 src/cpp/server/server_posix.cc                                                           +39   +58%
      +186%     +39 grpc::AddInsecureChannelFromFd                                                           +39  +186%
  +0.4%     +16 src/cpp/client/client_context.cc                                                         +16  +0.4%
      +2.4%     +16 grpc::ClientContext::ClientContext                                                       +16  +2.4%
  +0.3%     +16 src/cpp/server/server_context.cc                                                         +16  +0.3%
      +2.8%     +10 grpc::ServerContext::ServerContext                                                       +10  +2.8%
      +5.9%      +6 [Unmapped]                                                                                +6  +5.9%

 -------------- SHRINKING                                                                            --------------
  -1.7%     -74 src/cpp/client/channel_cc.cc                                                             -74  -1.7%
      [DEL]    -663 grpc::Channel::WaitForStateChangeImpl                                                   -663  [DEL]
      [DEL]    -194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    -194  [DEL]
      -8.3%    -106 grpc::Channel::CreateCall                                                               -106  -8.3%
      [DEL]     -92 grpc::Channel::NotifyOnStateChangeImpl                                                   -92  [DEL]
      [DEL]     -62 grpc::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                          -62  [DEL]
  -1.3%     -38 src/cpp/common/alarm.cc                                                                  -38  -1.3%
     -25.5%     -38 _GLOBAL__sub_I_alarm.cc                                                                  -38 -25.5%
  -4.1%     -23 src/cpp/common/completion_queue_cc.cc                                                    -23  -4.1%
     -25.5%     -38 _GLOBAL__sub_I_completion_queue_cc.cc                                                    -38 -25.5%

  +0.3%    +976 TOTAL                                                                                +70.3Ki  +1.4%

[trickle] No significant performance differences

[microbenchmarks] Performance differences noted:
Benchmark                    cpu_time    real_time
---------------------------  ----------  -----------
BM_MetadataRefUnrefExternal  -20%        -20%
BM_MetadataRefUnrefStatic    -5%         -5%
BM_Zalloc/512                +17%        +17%

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

libgrpc.so

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

  [ = ]       0        0  [ = ]

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

libgrpc++.so

     VM SIZE                                                                                FILE SIZE
 ++++++++++++++ GROWING                                                                              ++++++++++++++
  +0.4%    +992 [None]                                                                               +70.3Ki  +1.4%
      +0.4%    +914 [Unmapped]                                                                           +70.3Ki  +1.4%
      [NEW]    +416 vtable for grpc::internal::CoreCodegen                                                  +416  [NEW]
      [NEW]    +118 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +118  [NEW]
      [NEW]    +112 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +112  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::CoreCodegenInterface                                   +39  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::GrpcLibraryInterface                                   +39  [NEW]
      [NEW]     +37 typeinfo name for grpc::internal::GrpcLibraryCodegen                                     +37  [NEW]
      [NEW]     +32 vtable for grpc::internal::GrpcLibraryCodegen                                            +32  [NEW]
      [NEW]     +30 typeinfo name for grpc::internal::CoreCodegen                                            +30  [NEW]
       +25%     +26 [None]                                                                                0  [ = ]
      [NEW]     +24 typeinfo for grpc::internal::CoreCodegen                                                 +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryCodegen                                          +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::CoreCodegenInterface                                        +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryInterface                                        +16  [NEW]
      [NEW]      +8 grpc::(anonymous namespace)::g_plugin_factory_list                                         0  [ = ]
      [NEW]      +4 grpc::(anonymous namespace)::once_init_plugin_list                                         0  [ = ]
  +0.1%     +48 src/cpp/server/server_cc.cc                                                              +48  +0.1%
      [NEW]    +194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    +194  [NEW]
      +8.7%     +65 grpc::ServerInterface::GenericAsyncRequest::FinalizeResult                               +65  +8.7%
      [NEW]     +62 grpc::internal::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                +62  [NEW]
      +0.4%      +8 grpc::Server::Server                                                                      +8  +0.4%
      [NEW]      +5 grpc::ServerInterface::BaseAsyncRequest::generic_ctx                                      +5  [NEW]
   +58%     +39 src/cpp/server/server_posix.cc                                                           +39   +58%
      +186%     +39 grpc::AddInsecureChannelFromFd                                                           +39  +186%
  +0.4%     +16 src/cpp/client/client_context.cc                                                         +16  +0.4%
      +2.4%     +16 grpc::ClientContext::ClientContext                                                       +16  +2.4%
  +0.3%     +16 src/cpp/server/server_context.cc                                                         +16  +0.3%
      +2.8%     +10 grpc::ServerContext::ServerContext                                                       +10  +2.8%
      +5.9%      +6 [Unmapped]                                                                                +6  +5.9%

 -------------- SHRINKING                                                                            --------------
  -1.7%     -74 src/cpp/client/channel_cc.cc                                                             -74  -1.7%
      [DEL]    -663 grpc::Channel::WaitForStateChangeImpl                                                   -663  [DEL]
      [DEL]    -194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    -194  [DEL]
      -8.3%    -106 grpc::Channel::CreateCall                                                               -106  -8.3%
      [DEL]     -92 grpc::Channel::NotifyOnStateChangeImpl                                                   -92  [DEL]
      [DEL]     -62 grpc::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                          -62  [DEL]
  -1.3%     -38 src/cpp/common/alarm.cc                                                                  -38  -1.3%
     -25.5%     -38 _GLOBAL__sub_I_alarm.cc                                                                  -38 -25.5%
  -4.1%     -23 src/cpp/common/completion_queue_cc.cc                                                    -23  -4.1%
     -25.5%     -38 _GLOBAL__sub_I_completion_queue_cc.cc                                                    -38 -25.5%

  +0.3%    +976 TOTAL                                                                                +70.3Ki  +1.4%

[trickle] No significant performance differences

[microbenchmarks] Performance differences noted:
Benchmark                                                            cpu_time    real_time
-------------------------------------------------------------------  ----------  -----------
BM_HasClearGrpcStatus<ErrorWithGrpcStatus>                           -4%         -4%
BM_PumpStreamClientToServer<InProcess>/32768                         +11%        +11%
BM_StreamingPingPongMsgs<InProcess, NoOpMutator, NoOpMutator>/32768  -5%         -5%

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

libgrpc.so

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

  [ = ]       0        0  [ = ]

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

libgrpc++.so

     VM SIZE                                                                                FILE SIZE
 ++++++++++++++ GROWING                                                                              ++++++++++++++
  +0.4%    +944 [None]                                                                               +70.7Ki  +1.4%
      +0.4%    +898 [Unmapped]                                                                           +70.6Ki  +1.4%
      [NEW]    +416 vtable for grpc::internal::CoreCodegen                                                  +416  [NEW]
      [NEW]    +118 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +118  [NEW]
      [NEW]    +112 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +112  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::CoreCodegenInterface                                   +39  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::GrpcLibraryInterface                                   +39  [NEW]
      [NEW]     +37 typeinfo name for grpc::internal::GrpcLibraryCodegen                                     +37  [NEW]
      [NEW]     +32 vtable for grpc::internal::GrpcLibraryCodegen                                            +32  [NEW]
      [NEW]     +30 typeinfo name for grpc::internal::CoreCodegen                                            +30  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::CoreCodegen                                                 +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryCodegen                                          +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::CoreCodegenInterface                                        +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryInterface                                        +16  [NEW]
      [NEW]      +8 grpc::(anonymous namespace)::g_plugin_factory_list                                         0  [ = ]
      [NEW]      +4 grpc::(anonymous namespace)::once_init_plugin_list                                         0  [ = ]
  +0.2%     +64 src/cpp/server/server_cc.cc                                                              +64  +0.2%
      [NEW]    +194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    +194  [NEW]
      +8.7%     +65 grpc::ServerInterface::GenericAsyncRequest::FinalizeResult                               +65  +8.7%
      [NEW]     +62 grpc::internal::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                +62  [NEW]
      +0.4%      +8 grpc::Server::Server                                                                      +8  +0.4%
      [NEW]      +5 grpc::ServerInterface::BaseAsyncRequest::generic_ctx                                      +5  [NEW]
   +58%     +39 src/cpp/server/server_posix.cc                                                           +39   +58%
      +186%     +39 grpc::AddInsecureChannelFromFd                                                           +39  +186%
  +0.4%     +16 src/cpp/client/client_context.cc                                                         +16  +0.4%
      +2.4%     +16 grpc::ClientContext::ClientContext                                                       +16  +2.4%
  +0.3%     +16 src/cpp/server/server_context.cc                                                         +16  +0.3%
      +2.8%     +10 grpc::ServerContext::ServerContext                                                       +10  +2.8%
      +5.9%      +6 [Unmapped]                                                                                +6  +5.9%

 -------------- SHRINKING                                                                            --------------
  -1.7%     -74 src/cpp/client/channel_cc.cc                                                             -74  -1.7%
      [DEL]    -663 grpc::Channel::WaitForStateChangeImpl                                                   -663  [DEL]
      [DEL]    -194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    -194  [DEL]
      -8.3%    -106 grpc::Channel::CreateCall                                                               -106  -8.3%
      [DEL]     -92 grpc::Channel::NotifyOnStateChangeImpl                                                   -92  [DEL]
      [DEL]     -62 grpc::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                          -62  [DEL]
  -1.3%     -38 src/cpp/common/alarm.cc                                                                  -38  -1.3%
     -25.5%     -38 _GLOBAL__sub_I_alarm.cc                                                                  -38 -25.5%
  -4.1%     -23 src/cpp/common/completion_queue_cc.cc                                                    -23  -4.1%
     -25.5%     -38 _GLOBAL__sub_I_completion_queue_cc.cc                                                    -38 -25.5%

  +0.3%    +944 TOTAL                                                                                +70.7Ki  +1.4%

[trickle] No significant performance differences

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

libgrpc.so

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

  [ = ]       0        0  [ = ]

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

libgrpc++.so

     VM SIZE                                                                                FILE SIZE
 ++++++++++++++ GROWING                                                                              ++++++++++++++
  +0.4%    +944 [None]                                                                               +70.7Ki  +1.4%
      +0.4%    +898 [Unmapped]                                                                           +70.6Ki  +1.4%
      [NEW]    +416 vtable for grpc::internal::CoreCodegen                                                  +416  [NEW]
      [NEW]    +118 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +118  [NEW]
      [NEW]    +112 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +112  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::CoreCodegenInterface                                   +39  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::GrpcLibraryInterface                                   +39  [NEW]
      [NEW]     +37 typeinfo name for grpc::internal::GrpcLibraryCodegen                                     +37  [NEW]
      [NEW]     +32 vtable for grpc::internal::GrpcLibraryCodegen                                            +32  [NEW]
      [NEW]     +30 typeinfo name for grpc::internal::CoreCodegen                                            +30  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::CoreCodegen                                                 +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryCodegen                                          +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::CoreCodegenInterface                                        +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryInterface                                        +16  [NEW]
      [NEW]      +8 grpc::(anonymous namespace)::g_plugin_factory_list                                         0  [ = ]
      [NEW]      +4 grpc::(anonymous namespace)::once_init_plugin_list                                         0  [ = ]
  +0.2%     +64 src/cpp/server/server_cc.cc                                                              +64  +0.2%
      [NEW]    +194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    +194  [NEW]
      +8.7%     +65 grpc::ServerInterface::GenericAsyncRequest::FinalizeResult                               +65  +8.7%
      [NEW]     +62 grpc::internal::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                +62  [NEW]
      +0.4%      +8 grpc::Server::Server                                                                      +8  +0.4%
      [NEW]      +5 grpc::ServerInterface::BaseAsyncRequest::generic_ctx                                      +5  [NEW]
   +58%     +39 src/cpp/server/server_posix.cc                                                           +39   +58%
      +186%     +39 grpc::AddInsecureChannelFromFd                                                           +39  +186%
  +0.4%     +16 src/cpp/client/client_context.cc                                                         +16  +0.4%
      +2.4%     +16 grpc::ClientContext::ClientContext                                                       +16  +2.4%
  +0.3%     +16 src/cpp/server/server_context.cc                                                         +16  +0.3%
      +2.8%     +10 grpc::ServerContext::ServerContext                                                       +10  +2.8%
      +5.9%      +6 [Unmapped]                                                                                +6  +5.9%

 -------------- SHRINKING                                                                            --------------
  -1.7%     -74 src/cpp/client/channel_cc.cc                                                             -74  -1.7%
      [DEL]    -663 grpc::Channel::WaitForStateChangeImpl                                                   -663  [DEL]
      [DEL]    -194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    -194  [DEL]
      -8.3%    -106 grpc::Channel::CreateCall                                                               -106  -8.3%
      [DEL]     -92 grpc::Channel::NotifyOnStateChangeImpl                                                   -92  [DEL]
      [DEL]     -62 grpc::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                          -62  [DEL]
  -1.3%     -38 src/cpp/common/alarm.cc                                                                  -38  -1.3%
     -25.5%     -38 _GLOBAL__sub_I_alarm.cc                                                                  -38 -25.5%
  -4.1%     -23 src/cpp/common/completion_queue_cc.cc                                                    -23  -4.1%
     -25.5%     -38 _GLOBAL__sub_I_completion_queue_cc.cc                                                    -38 -25.5%

  +0.3%    +944 TOTAL                                                                                +70.7Ki  +1.4%

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

[microbenchmarks] Performance differences noted:
Benchmark                            cpu_time    real_time
-----------------------------------  ----------  -----------
BM_ErrorStringRepeatedly<ErrorNone>  +6%         +6%
BM_Zalloc/512                        +8%         +8%

[trickle] No significant performance differences

[trickle] No significant performance differences

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

libgrpc.so

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

  [ = ]       0        0  [ = ]

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

libgrpc++.so

     VM SIZE                                                                                FILE SIZE
 ++++++++++++++ GROWING                                                                              ++++++++++++++
  +0.4%    +944 [None]                                                                               +70.9Ki  +1.4%
      +0.4%    +898 [Unmapped]                                                                           +70.8Ki  +1.4%
      [NEW]    +432 vtable for grpc::internal::CoreCodegen                                                  +432  [NEW]
      [NEW]    +118 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +118  [NEW]
      [NEW]    +112 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +112  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::CoreCodegenInterface                                   +39  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::GrpcLibraryInterface                                   +39  [NEW]
      [NEW]     +37 typeinfo name for grpc::internal::GrpcLibraryCodegen                                     +37  [NEW]
      [NEW]     +32 vtable for grpc::internal::GrpcLibraryCodegen                                            +32  [NEW]
      [NEW]     +30 typeinfo name for grpc::internal::CoreCodegen                                            +30  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::CoreCodegen                                                 +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryCodegen                                          +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::CoreCodegenInterface                                        +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryInterface                                        +16  [NEW]
      [NEW]      +8 grpc::(anonymous namespace)::g_plugin_factory_list                                         0  [ = ]
      [NEW]      +4 grpc::(anonymous namespace)::once_init_plugin_list                                         0  [ = ]
  +0.2%     +64 src/cpp/server/server_cc.cc                                                              +64  +0.2%
      [NEW]    +194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    +194  [NEW]
      +8.7%     +65 grpc::ServerInterface::GenericAsyncRequest::FinalizeResult                               +65  +8.7%
      [NEW]     +62 grpc::internal::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                +62  [NEW]
      +0.4%      +8 grpc::Server::Server                                                                      +8  +0.4%
      [NEW]      +5 grpc::ServerInterface::BaseAsyncRequest::generic_ctx                                      +5  [NEW]
   +58%     +39 src/cpp/server/server_posix.cc                                                           +39   +58%
      +186%     +39 grpc::AddInsecureChannelFromFd                                                           +39  +186%
  +0.4%     +16 src/cpp/client/client_context.cc                                                         +16  +0.4%
      +2.4%     +16 grpc::ClientContext::ClientContext                                                       +16  +2.4%
  +0.3%     +16 src/cpp/server/server_context.cc                                                         +16  +0.3%
      +2.8%     +10 grpc::ServerContext::ServerContext                                                       +10  +2.8%
      +5.9%      +6 [Unmapped]                                                                                +6  +5.9%

 -------------- SHRINKING                                                                            --------------
  -1.7%     -74 src/cpp/client/channel_cc.cc                                                             -74  -1.7%
      [DEL]    -663 grpc::Channel::WaitForStateChangeImpl                                                   -663  [DEL]
      [DEL]    -194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    -194  [DEL]
      -8.3%    -106 grpc::Channel::CreateCall                                                               -106  -8.3%
      [DEL]     -92 grpc::Channel::NotifyOnStateChangeImpl                                                   -92  [DEL]
      [DEL]     -62 grpc::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                          -62  [DEL]
  -1.3%     -38 src/cpp/common/alarm.cc                                                                  -38  -1.3%
     -25.5%     -38 _GLOBAL__sub_I_alarm.cc                                                                  -38 -25.5%
  -4.1%     -23 src/cpp/common/completion_queue_cc.cc                                                    -23  -4.1%
     -25.5%     -38 _GLOBAL__sub_I_completion_queue_cc.cc                                                    -38 -25.5%

  +0.3%    +944 TOTAL                                                                                +70.9Ki  +1.4%

[trickle] No significant performance differences

[microbenchmarks] Performance differences noted:
Benchmark                            cpu_time    real_time
-----------------------------------  ----------  -----------
BM_ErrorStringOnNewError<ErrorNone>  -20%        -20%

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

libgrpc.so

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

  [ = ]       0        0  [ = ]

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

libgrpc++.so

     VM SIZE                                                                                FILE SIZE
 ++++++++++++++ GROWING                                                                              ++++++++++++++
  +0.4%    +944 [None]                                                                               +70.9Ki  +1.4%
      +0.4%    +898 [Unmapped]                                                                           +70.8Ki  +1.4%
      [NEW]    +432 vtable for grpc::internal::CoreCodegen                                                  +432  [NEW]
      [NEW]    +118 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +118  [NEW]
      [NEW]    +112 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +112  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::CoreCodegenInterface                                   +39  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::GrpcLibraryInterface                                   +39  [NEW]
      [NEW]     +37 typeinfo name for grpc::internal::GrpcLibraryCodegen                                     +37  [NEW]
      [NEW]     +32 vtable for grpc::internal::GrpcLibraryCodegen                                            +32  [NEW]
      [NEW]     +30 typeinfo name for grpc::internal::CoreCodegen                                            +30  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::CoreCodegen                                                 +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryCodegen                                          +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::CoreCodegenInterface                                        +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryInterface                                        +16  [NEW]
      [NEW]      +8 grpc::(anonymous namespace)::g_plugin_factory_list                                         0  [ = ]
      [NEW]      +4 grpc::(anonymous namespace)::once_init_plugin_list                                         0  [ = ]
  +0.2%     +64 src/cpp/server/server_cc.cc                                                              +64  +0.2%
      [NEW]    +194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    +194  [NEW]
      +8.7%     +65 grpc::ServerInterface::GenericAsyncRequest::FinalizeResult                               +65  +8.7%
      [NEW]     +62 grpc::internal::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                +62  [NEW]
      +0.4%      +8 grpc::Server::Server                                                                      +8  +0.4%
      [NEW]      +5 grpc::ServerInterface::BaseAsyncRequest::generic_ctx                                      +5  [NEW]
   +58%     +39 src/cpp/server/server_posix.cc                                                           +39   +58%
      +186%     +39 grpc::AddInsecureChannelFromFd                                                           +39  +186%
  +0.4%     +16 src/cpp/client/client_context.cc                                                         +16  +0.4%
      +2.4%     +16 grpc::ClientContext::ClientContext                                                       +16  +2.4%
  +0.3%     +16 src/cpp/server/server_context.cc                                                         +16  +0.3%
      +2.8%     +10 grpc::ServerContext::ServerContext                                                       +10  +2.8%
      +5.9%      +6 [Unmapped]                                                                                +6  +5.9%

 -------------- SHRINKING                                                                            --------------
  -1.7%     -74 src/cpp/client/channel_cc.cc                                                             -74  -1.7%
      [DEL]    -663 grpc::Channel::WaitForStateChangeImpl                                                   -663  [DEL]
      [DEL]    -194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    -194  [DEL]
      -8.3%    -106 grpc::Channel::CreateCall                                                               -106  -8.3%
      [DEL]     -92 grpc::Channel::NotifyOnStateChangeImpl                                                   -92  [DEL]
      [DEL]     -62 grpc::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                          -62  [DEL]
  -1.3%     -38 src/cpp/common/alarm.cc                                                                  -38  -1.3%
     -25.5%     -38 _GLOBAL__sub_I_alarm.cc                                                                  -38 -25.5%
  -4.1%     -23 src/cpp/common/completion_queue_cc.cc                                                    -23  -4.1%
     -25.5%     -38 _GLOBAL__sub_I_completion_queue_cc.cc                                                    -38 -25.5%

  +0.3%    +944 TOTAL                                                                                +70.9Ki  +1.4%

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

[microbenchmarks] Performance differences noted:
Benchmark                            cpu_time    real_time
-----------------------------------  ----------  -----------
BM_ErrorStringOnNewError<ErrorNone>  -20%        -20%
BM_ErrorStringRepeatedly<ErrorNone>  -5%         -5%

[microbenchmarks] No significant performance differences

Reviewed 62 of 75 files at r1, 2 of 2 files at r2, 1 of 1 files at r3, 2 of 2 files at r4, 27 of 27 files at r5.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks broke.

include/grpcpp/impl/codegen/connectivity.h, line 49 at r4 (raw file):

    static_assert(SHUTDOWN == static_cast<State>(GRPC_CHANNEL_SHUTDOWN),
                  "gRPC Core/C++ connectivity state value mismatch");
  }

Nit: please add a blank line here.

src/cpp/server/server_cc.cc, line 702 at r5 (raw file):

this->

Can be removed?

test/cpp/microbenchmarks/fullstack_fixtures.h, line 112 at r5 (raw file):

this->

Any reason we want to explicitly keep this?

test/cpp/qps/client_async.cc, line 204 at r5 (raw file):

&&

Should we simply use regular reference here?

test/cpp/qps/server_async.cc, line 182 at r5 (raw file):

&&

Same here.

Comments from Reviewable

LGTM for the connectivity state and client channel part.

Review status: all files reviewed at latest revision, 5 unresolved discussions, some commit checks broke.

Comments from Reviewable

Review status: all files reviewed at latest revision, 5 unresolved discussions, some commit checks broke.

include/grpcpp/impl/codegen/connectivity.h, line 49 at r4 (raw file):
Previously, AspirinSJL (Juanli Shen) wrote…
Nit: please add a blank line here.

Done.

src/cpp/server/server_cc.cc, line 702 at r5 (raw file):
Previously, AspirinSJL (Juanli Shen) wrote…

this->

Can be removed?

Yes. This was a case where the parameter name was shadowing the method name. I changed the parameter name.

test/cpp/microbenchmarks/fullstack_fixtures.h, line 112 at r5 (raw file):
Previously, AspirinSJL (Juanli Shen) wrote…

this->

Any reason we want to explicitly keep this?

I've fixed this. I think it used to be a template.

test/cpp/qps/client_async.cc, line 204 at r5 (raw file):
Previously, AspirinSJL (Juanli Shen) wrote…

&&

Should we simply use regular reference here?

Done.

test/cpp/qps/server_async.cc, line 182 at r5 (raw file):
Previously, AspirinSJL (Juanli Shen) wrote…

&&

Same here.

Done.

Comments from Reviewable

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

libgrpc.so

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

  [ = ]       0        0  [ = ]

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

libgrpc++.so

     VM SIZE                                                                                FILE SIZE
 ++++++++++++++ GROWING                                                                              ++++++++++++++
  +0.4%    +948 [None]                                                                               +71.0Ki  +1.4%
      +0.4%    +902 [Unmapped]                                                                           +71.0Ki  +1.4%
      [NEW]    +432 vtable for grpc::internal::CoreCodegen                                                  +432  [NEW]
      [NEW]    +118 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +118  [NEW]
      [NEW]    +112 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +112  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::CoreCodegenInterface                                   +39  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::GrpcLibraryInterface                                   +39  [NEW]
      [NEW]     +37 typeinfo name for grpc::internal::GrpcLibraryCodegen                                     +37  [NEW]
      [NEW]     +32 vtable for grpc::internal::GrpcLibraryCodegen                                            +32  [NEW]
      [NEW]     +30 typeinfo name for grpc::internal::CoreCodegen                                            +30  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::CoreCodegen                                                 +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryCodegen                                          +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::CoreCodegenInterface                                        +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryInterface                                        +16  [NEW]
      [NEW]      +8 grpc::(anonymous namespace)::g_plugin_factory_list                                         0  [ = ]
      [NEW]      +4 grpc::(anonymous namespace)::once_init_plugin_list                                         0  [ = ]
  +0.2%     +64 src/cpp/server/server_cc.cc                                                              +64  +0.2%
      [NEW]    +194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    +194  [NEW]
      +8.7%     +65 grpc::ServerInterface::GenericAsyncRequest::FinalizeResult                               +65  +8.7%
      [NEW]     +62 grpc::internal::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                +62  [NEW]
      [NEW]      +5 grpc::ServerInterface::BaseAsyncRequest::generic_ctx                                      +5  [NEW]
      +0.5%      +2 [Unmapped]                                                                                +2  +0.5%
   +58%     +39 src/cpp/server/server_posix.cc                                                           +39   +58%
      +186%     +39 grpc::AddInsecureChannelFromFd                                                           +39  +186%
  +0.4%     +16 src/cpp/client/client_context.cc                                                         +16  +0.4%
      +2.4%     +16 grpc::ClientContext::ClientContext                                                       +16  +2.4%
  +0.3%     +16 src/cpp/server/server_context.cc                                                         +16  +0.3%
      +2.8%     +10 grpc::ServerContext::ServerContext                                                       +10  +2.8%
      +4.8%      +6 [Unmapped]                                                                                +6  +4.8%

 -------------- SHRINKING                                                                            --------------
  -1.6%     -74 src/cpp/client/channel_cc.cc                                                             -74  -1.6%
      [DEL]    -676 grpc::Channel::WaitForStateChangeImpl                                                   -676  [DEL]
      [DEL]    -194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    -194  [DEL]
      -8.3%    -106 grpc::Channel::CreateCall                                                               -106  -8.3%
      [DEL]     -92 grpc::Channel::NotifyOnStateChangeImpl                                                   -92  [DEL]
      [DEL]     -62 grpc::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                          -62  [DEL]
  -1.3%     -38 src/cpp/common/alarm.cc                                                                  -38  -1.3%
     -25.5%     -38 _GLOBAL__sub_I_alarm.cc                                                                  -38 -25.5%
  -4.1%     -23 src/cpp/common/completion_queue_cc.cc                                                    -23  -4.1%
     -25.5%     -38 _GLOBAL__sub_I_completion_queue_cc.cc                                                    -38 -25.5%

  +0.3%    +948 TOTAL                                                                                +71.0Ki  +1.4%

Reviewed 6 of 6 files at r6.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

src/cpp/server/server_cc.cc, line 702 at r5 (raw file):
Previously, vjpai (Vijay Pai) wrote…
Yes. This was a case where the parameter name was shadowing the method name. I changed the parameter name.

I see.

Comments from Reviewable

[trickle] No significant performance differences

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

libgrpc.so

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

  [ = ]       0        0  [ = ]

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

libgrpc++.so

     VM SIZE                                                                                FILE SIZE
 ++++++++++++++ GROWING                                                                              ++++++++++++++
  +0.4%    +948 [None]                                                                               +71.0Ki  +1.4%
      +0.4%    +902 [Unmapped]                                                                           +71.0Ki  +1.4%
      [NEW]    +432 vtable for grpc::internal::CoreCodegen                                                  +432  [NEW]
      [NEW]    +118 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +118  [NEW]
      [NEW]    +112 typeinfo name for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_stri    +112  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +48 vtable for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<char     +48  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::CoreCodegenInterface                                   +39  [NEW]
      [NEW]     +39 typeinfo name for grpc::internal::GrpcLibraryInterface                                   +39  [NEW]
      [NEW]     +37 typeinfo name for grpc::internal::GrpcLibraryCodegen                                     +37  [NEW]
      [NEW]     +32 vtable for grpc::internal::GrpcLibraryCodegen                                            +32  [NEW]
      [NEW]     +30 typeinfo name for grpc::internal::CoreCodegen                                            +30  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::CoreCodegen                                                 +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +24 typeinfo for grpc::internal::MakeChannelArgumentOption(std::__cxx11::basic_string<ch     +24  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryCodegen                                          +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::CoreCodegenInterface                                        +16  [NEW]
      [NEW]     +16 typeinfo for grpc::internal::GrpcLibraryInterface                                        +16  [NEW]
      [NEW]      +8 grpc::(anonymous namespace)::g_plugin_factory_list                                         0  [ = ]
      [NEW]      +4 grpc::(anonymous namespace)::once_init_plugin_list                                         0  [ = ]
  +0.2%     +64 src/cpp/server/server_cc.cc                                                              +64  +0.2%
      [NEW]    +194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    +194  [NEW]
      +8.7%     +65 grpc::ServerInterface::GenericAsyncRequest::FinalizeResult                               +65  +8.7%
      [NEW]     +62 grpc::internal::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                +62  [NEW]
      [NEW]      +5 grpc::ServerInterface::BaseAsyncRequest::generic_ctx                                      +5  [NEW]
      +0.5%      +2 [Unmapped]                                                                                +2  +0.5%
   +58%     +39 src/cpp/server/server_posix.cc                                                           +39   +58%
      +186%     +39 grpc::AddInsecureChannelFromFd                                                           +39  +186%
  +0.4%     +16 src/cpp/client/client_context.cc                                                         +16  +0.4%
      +2.4%     +16 grpc::ClientContext::ClientContext                                                       +16  +2.4%
  +0.3%     +16 src/cpp/server/server_context.cc                                                         +16  +0.3%
      +2.8%     +10 grpc::ServerContext::ServerContext                                                       +10  +2.8%
      +4.8%      +6 [Unmapped]                                                                                +6  +4.8%

 -------------- SHRINKING                                                                            --------------
  -1.6%     -74 src/cpp/client/channel_cc.cc                                                             -74  -1.6%
      [DEL]    -676 grpc::Channel::WaitForStateChangeImpl                                                   -676  [DEL]
      [DEL]    -194 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    -194  [DEL]
      -8.3%    -106 grpc::Channel::CreateCall                                                               -106  -8.3%
      [DEL]     -92 grpc::Channel::NotifyOnStateChangeImpl                                                   -92  [DEL]
      [DEL]     -62 grpc::GrpcLibraryCodegen::~GrpcLibraryCodegen() [clone .part.0]                          -62  [DEL]
  -1.3%     -38 src/cpp/common/alarm.cc                                                                  -38  -1.3%
     -25.5%     -38 _GLOBAL__sub_I_alarm.cc                                                                  -38 -25.5%
  -4.1%     -23 src/cpp/common/completion_queue_cc.cc                                                    -23  -4.1%
     -25.5%     -38 _GLOBAL__sub_I_completion_queue_cc.cc                                                    -38 -25.5%

  +0.3%    +948 TOTAL                                                                                +71.0Ki  +1.4%

[microbenchmarks] No significant performance differences

Review status: 73 of 77 files reviewed at latest revision, all discussions resolved.

include/grpcpp/impl/codegen/compression.h, line 22 at r6 (raw file):

#define GRPCPP_IMPL_CODEGEN_COMPRESSION_H

#include <grpc/impl/codegen/compression_types.h>

If the purpose of this extra layer is to hide details of core, I think including this header would still expose the grpc core API. Maybe separate interaction with core in .cc to hide grpc_compression_algorithm and grpc_compression_level completely.

Comments from Reviewable

[microbenchmarks] Performance differences noted:
Benchmark                                                                                cpu_time    real_time
----------------------------------------------------------------------------------------  ----------  -----------
BM_ErrorGetStatusCode<ErrorNone>                                                          -4%         -4%
BM_ErrorGetStatusCode<ErrorWithHttpError>                                                 -4%         -4%
BM_ErrorGetStatusCode<SimpleError>                                                        -4%         -4%
BM_MetadataRefUnrefExternal                                                               +5%         +5%
BM_MetadataRefUnrefStatic                                                                 +20%        +20%
BM_StreamingPingPongMsgs<InProcess, NoOpMutator, NoOpMutator>/262144                      -6%         -6%
BM_StreamingPingPongWithCoalescingApi<InProcess, NoOpMutator, NoOpMutator>/262144/1/0     -6%         -6%
BM_StreamingPingPongWithCoalescingApi<InProcess, NoOpMutator, NoOpMutator>/262144/2/1     -6%         -6%
BM_StreamingPingPongWithCoalescingApi<MinInProcess, NoOpMutator, NoOpMutator>/262144/1/0  -6%         -6%

Review status: 73 of 77 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

include/grpcpp/impl/codegen/compression.h, line 22 at r6 (raw file):
Previously, muxi (Muxi Yan) wrote…
If the purpose of this extra layer is to hide details of core, I think including this header would still expose the grpc core API. Maybe separate interaction with core in .cc to hide grpc_compression_algorithm and grpc_compression_level completely.

So, we don't care if header inclusion leaks through because we expect IWYU. We just need to add this in order to provide stable C++ API for this. Remember that Core API is, by definition, permanently unstable, and we should be allowed to make changes to core API without breaking C++ applications.

Comments from Reviewable

Review status: 73 of 77 files reviewed at latest revision, 10 unresolved discussions, some commit checks failed.

include/grpcpp/server.h, line 106 at r7 (raw file):
Previously, yang-g (Yang Gao) wrote…
I slightly prefer c_server as it tells what it does a bit better. It also maintains compatibility.

So the odd thing is that we had both server and c_server all along. server() was a protected member of ServerInterface but c_server() existed only for Server.
Additionally, c_server is no longer accurate since the server is now written in C++.

include/grpcpp/server_builder.h, line 221 at r7 (raw file):
Previously, yang-g (Yang Gao) wrote…

For specialized use only

What does this mean? I think this is open to general users.

Anyone can use it but ideally nobody should have to. I guess I just meant that you should know what you're doing. I can rephrase the comment.

include/grpcpp/impl/codegen/completion_queue.h, line 232 at r7 (raw file):
Previously, yang-g (Yang Gao) wrote…
I believe some framework users are using this... They may not have to but this could be a breaking change.

I'll check this out. I can bring it back if it's absolutely needed.

include/grpcpp/impl/codegen/compression.h, line 150 at r7 (raw file):
Previously, yang-g (Yang Gao) wrote…
In general I am not sure about the benefit of introducing the C++ wrapping layer of the compression algorithms and connectivity states. It does hide the C enum types but the wrapping C++ types need to be changed once there is any change in the C enum (though in theory they do not have to). Thus they do not provide much regarding stability IMO, but they do introduce additional API and complexity in code...

Are we comfortable with making a stability promise on the grpc_ core types? I think that's not consistent with how we've viewed core types in the past. Note that the other wrapped languages essentially have to do something like this to have this in their API, so I felt that it made sense for C++ to also provide something that looks more idiomatic. As you point out, we could even use this to theoretically avoid breakage if the underlying type changes. In practice, this would enable us to rename the underlying types appropriately since they'd no longer be C++ API.

include/grpcpp/impl/codegen/server_interface.h, line 146 at r7 (raw file):
Previously, yang-g (Yang Gao) wrote…
Please add a comment that this will only be used by generic override. Or is it better to just make the context_ protected...

We shouldn't have protected data members. I know that we have had this for a while now, but it's technically against our style guide. Data members can only be private. I'll add the comment that you want though.

include/grpcpp/impl/codegen/time.h, line 52 at r7 (raw file):
Previously, yang-g (Yang Gao) wrote…
Is this requiring pretty much all specialization of the template to declare the friend classes?

Yes. I guess that's not very pretty. Let me see if I can rework this.

Comments from Reviewable

Review status: 73 of 77 files reviewed at latest revision, 10 unresolved discussions, some commit checks failed.

include/grpcpp/server.h, line 106 at r7 (raw file):
Previously, vjpai (Vijay Pai) wrote…
So the odd thing is that we had both server and c_server all along. server() was a protected member of ServerInterface but c_server() existed only for Server.
Additionally, c_server is no longer accurate since the server is now written in C++.

Returning a grpc_server* from Server::server() looks weird to me... Also I think we have a c_call() in clientcontext and a c_channel somewhere? :)

include/grpcpp/server_builder.h, line 221 at r7 (raw file):
Previously, vjpai (Vijay Pai) wrote…
Anyone can use it but ideally nobody should have to. I guess I just meant that you should know what you're doing. I can rephrase the comment.

I think it is not accurate as there are some arguments (anything other than compression?) that users can only set through this API. Maybe we want to soften the wording a bit.

include/grpcpp/impl/codegen/compression.h, line 150 at r7 (raw file):
Previously, vjpai (Vijay Pai) wrote…
Are we comfortable with making a stability promise on the grpc_ core types? I think that's not consistent with how we've viewed core types in the past. Note that the other wrapped languages essentially have to do something like this to have this in their API, so I felt that it made sense for C++ to also provide something that looks more idiomatic. As you point out, we could even use this to theoretically avoid breakage if the underlying type changes. In practice, this would enable us to rename the underlying types appropriately since they'd no longer be C++ API.

Right. I am not saying we should definitely not adding the wrapping type layer, but my concern is the wrapping types add complexity without providing many benefits, as I do not really believe we can change the c enum without changing the wrapping types, especially with current implementation.

Comments from Reviewable


Initial commit to the front-end and back-end

Add .NET solution for the back-end

Not saying we'll stick with .NET, just a placeholder

Add index.html for the front-end

Feel free to merge


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_34097af3-3833-4b27-ab77-6af61b47b993/pull/1 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target_34097af3-3833-4b27-ab77-6af61b47b993.git

Docs Build status updates of commit 9ca0d57:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch Release_Archive_main_2022-03-14-02-18-36 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


readme.md

Yiou can remove a section from Readme.md
You don't need to a method
public void doProtobuf() {
    protobuf();
}

if you have already
public void protobuf() {
    .....
}

The doXxxx  convention is for life cycle method. Exemple doTest do everything needed before test : clean + compile + test.

fixed in de49390cfdf011aff680e08bf356dff9ca6b4cfe


Support round corner for 2d Quad shape

What problem does this solve or what need does it fill?
as title.

Previously attempted in #3991: good discussion there.

Thanks, seems it's only about ui, I'd like round corner for Quad shape.

Yep, seems reasonable (although probably make a different shape?). Still useful insight there IMO.

I agree on making it a new shape rather than making Quad more complex


Error receiving broadcast intent

E/AndroidRuntime(26204): java.lang.RuntimeException: Error receiving broadcast Intent { act=com.google.android.gms.auth.api.phone.SMS_RETRIEVED flg=0x200010 pkg=in.kreateworld.debug (has extras) } in ru.surfstudio.otp_autofill.SmsRetrieverReceiver@130b2f0
E/AndroidRuntime(26204): 	at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1590)
E/AndroidRuntime(26204): 	at android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run(Unknown Source:2)
E/AndroidRuntime(26204): 	at android.os.Handler.handleCallback(Handler.java:938)
E/AndroidRuntime(26204): 	at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(26204): 	at android.os.Looper.loop(Looper.java:223)
E/AndroidRuntime(26204): 	at android.app.ActivityThread.main(ActivityThread.java:7705)
E/AndroidRuntime(26204): 	at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(26204): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
E/AndroidRuntime(26204): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:952)
E/AndroidRuntime(26204): Caused by: java.lang.IllegalStateException: Reply already submitted
E/AndroidRuntime(26204): 	at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:286)
E/AndroidRuntime(26204): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:267)
E/AndroidRuntime(26204): 	at ru.surfstudio.otp_autofill.OTPPlugin$registerSmsRetrieverBroadcastReceiver$1$1.onSuccess(OTPPlugin.kt:181)
E/AndroidRuntime(26204): 	at ru.surfstudio.otp_autofill.SmsRetrieverReceiver.onReceive(SmsRetrieverReceiver.kt:24)
E/AndroidRuntime(26204): 	at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1580)
E/AndroidRuntime(26204): 	... 8 more

Describe the bug
Once OTP sms is received, the app crashes completely. Code used is the same as that given in the example.
Additional context
I have forked this repo and added try catch around the android code, and upgraded the dependency versions in gradle, and it is working. That is not the proper way to do this though, just an emergency workaround.

I fixed it by setting timeout to 0 in FirebaseAuth,
    await firebaseAuth.verifyPhoneNumber(
        phoneNumber: phoneNumber,
        timeout: Duration(seconds: 0),
        verificationCompleted: phoneVerificationCompleted,
        verificationFailed: phoneVerificationFailed,
        codeSent: phoneCodeSent,
        forceResendingToken: forceResendCode,
        codeAutoRetrievalTimeout: autoRetrievalTimeout);

Answer taken from https://stackoverflow.com/a/69078728/11555932

Hello, @Chinmay-KB  Did you find a way around the issue

Hello, @Chinmay-KB Did you find a way around the issue

Nope. Last I worked on this, I just made a fork of this project and wrapped the whole thing in try catch, worked for me

Let me try wrapping and see if it works.

I tried wrapping the otpinteractor.startListenRetiver on a try catch block and the error even cant be caught by the catch block.

I changed the package to "sms_autofill: ^2.2.0"  and it works for me. it seems this OTP-autofill pkg, has a method not doing its work.
the stop-listen method. it is supposed to stop listening after a timeout or after like 5 min. but it didn't stop listening.

Seems like there is a stale issue, if it will occure again, new issue will be created


Java virtual machine Xmx can now be user specified

If not specified by the user, the half available memorry is allocated as upper limit to the vitual machine intead of static 4G as before.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

thanks @ClaraLuisa for this nice improvement!
We could make psutils optional, setting -Xmx1G if the package can't be loaded, and detect it automatically if psutils is available.
Also, I'd suggest to pass over the entire instruction as an argument, not just the number. So have jvmargs='-Xmx1G', as default, and require users to pass over jvmargs='-Xmx12G' if they want to work with really big data stuff...

@danielhuppmann, thanks for that idea. I made psutil optional now as recommended by you. However I set the default to 4 instead of 1G as I running it wasn't very stable for me otherwise. Is this acceptable for you?

...and do know why the CI test keeps failing. The code seems to be working well on my PC.

Thnaks @gidden for the hints!

Final comment by me inline, should be good to go by my eye after!

@gidden I am not sure if this is what you expected with "comment by me inline". Let me know if anything else should be changed.

Yup that's it! lgtm, @danielhuppmann want to pull?

very nice, thanks @ClaraLuisa and @gidden

Hi @danielhuppmann and @gidden did this merge also affect the submodule ixmp in the message_ix repository? Bc. even though i updated the submodule the new code does not appear in the core.py file. What am I doing wrong?

For future reference - updates in ixmp need to be explicitly included in message_ix by fast-forwarding the submodule and committing the change to message_ix - see https://github.com/iiasa/message_ix/pull/5 for the PR pulling the change here to message_ix.


Second: No.

seems i'm not alone.....it's not a question but a bug how spam chat....

seems i'm not alone.....it's not a question but a bug how spam chat....

if you provide me proper informations and fill up the bug report template, then I might look at it.


Fix for issue #4852 concerning zoomed parent on Chrome

This PR Identifies whether a parent node is zoomed and adjusts mouseX/mouseY accordingly. Should fix #4852.

Did you test in Safari? I wonder if it would happen in both Chrome and Safari since they're both Webkit

@benmccann Could be a Webkit issue, but as a linux user I don't have Safari to test.

Closing due to inactivity. I think this needs extra testing as well since it seems weird that this only affects chrome

@etimberg I don't think it is weird that the issue only affects Chrome/Chromium. The issue is related to zoom which is not implemented by all browsers https://caniuse.com/#feat=css-zoom (at least not by Firefox)

We should still test on Safari and IE though

From the MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/zoom

Non-standard: This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

My concern with that fix is that we are going to iterate all parent nodes of the canvas element to read the zoom style at every mouse events and for all charts, whatever the zoom feature is used or not. That may impact interaction performances for all Chrome users for a non standard feature which doesn't seem very popular and looks like a Chrome/ium bug (coordinates of the reported event should be correctly mapped).
I'm really curious if that's the same issue with CSS scale transform and if not, why still using this feature when you have a standard/consistent alternative which seems supported by more browsers?
I would prefer to not integrate that fix but instead start a "Known Issues" section in the docs with a link to that PR and/or a Gist with an override for Chart.helpers.getRelativePosition. Then only developers that use the zoom feature can add that snippet in their code.

As far as I can tell, scale transform doesn't have this issue.
-------- Ursprüngliche Nachricht --------
Von: Simon Brunel<EMAIL_ADDRESS>Datum: 31.12.17  17:55  (GMT+01:00)
An: "chartjs/Chart.js"<EMAIL_ADDRESS>Cc: Asvin Goel<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Betreff: Re: [chartjs/Chart.js] Fix for issue #4852 concerning zoomed parent
  on Chrome (#4867)
From the MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/zoom
Non-standard: This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.
My concern with that fix is that we are going to iterate all parent nodes of the canvas element to read the zoom style at every mouse events and for all charts, whatever the zoom feature is used or not. That may impact interaction performances for all Chrome users for a non standard feature which doesn't seem very popular and looks like a Chrome/ium bug (coordinates of the reported event should be correctly mapped).
I'm really curious if that's the same issue with CSS scale transform and if not, why still using this feature when you have a standard/consistent alternative which seems supported by more browsers?
I would prefer to not integrate that fix but instead start a "Known Issues" section in the docs with a link to that PR and/or a Gist with an override for Chart.helpers.getRelativePosition. Then only developers that use the zoom feature can add that snippet in their code.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/chartjs/Chart.js","title":"chartjs/Chart.js","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/chartjs/Chart.js"}},"updates":{"snippets":[{"icon":"PERSON","message":"@simonbrunel in #4867: From the MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/zoom\r\n\r\n\u003e Non-standard: This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.\r\n\r\nMy concern with that fix is that we are going to iterate all parent nodes of the canvas element to read the zoom style at every mouse events and for all charts, whatever the zoom feature is used or not. That may impact interaction performances for all Chrome users for a non standard feature which doesn't seem very popular and looks like a Chrome/ium bug (coordinates of the reported event should be correctly mapped).\r\n\r\nI'm really curious if that's the same issue with CSS scale transform and if not, why still using this feature when you have a standard/consistent alternative which seems supported by more browsers?\r\n\r\nI would prefer to not integrate that fix but instead start a "Known Issues" section in the docs with a link to that PR and/or a Gist with an override for Chart.helpers.getRelativePosition. Then only developers that use the zoom feature can add that snippet in their code.\r\n \r\n\r\n"}],"action":{"name":"View Pull Request","url":"https://github.com/chartjs/Chart.js/pull/4867#issuecomment-354614137"}}}


Github actions for linux,mac and windows

@maxandersen  I've added files for automation on Push and pull requests @https://github.com/maxandersen/starfish/pull/11/commits/92528c93283f1ef0284ab1d88a2be098ae08a50d

there seem to be double of each platform - isn't one file with 3jobs, one per platform enough ?

Actually,on push and pull request we should create release so I made separately.

When we are creating release from Web UI ourselves then we already have upload_url as ${{ github.event.release.upload_url }} so no issues.
But incase of push/pull-request  we have to create release and get upload URL.
Thus, I made up separately for both of them.
I'll now try to get them into single file as you said.I have to test them after each little change and it takes time.

tip for quickly testing logic of github actions is to comment out the "long running parts"  making it you can get the logic in place for the workflow and then add in the "heavy" parts later.

tip for quickly testing logic of github actions is to comment out the "long running parts" making it you can get the logic in place for the workflow and then add in the "heavy" parts later.

Sure,I'll try this

@maxandersen I've tried to bring in the config into 3 files based on os.
I am using a separate repository for testing and development for automation. Just sharing the repo link here incase you would like to get an insight: https://github.com/fahad-israr/test-github_actions_quarkus

@maxandersen I've removed release creation on Push or PR.

Now on Push/PR the native executable will be uploaded as an artifact.

Also, I've implemented  using GITHUB_RUN_NUMBER in my test repo:https://github.com/fahad-israr/test-github_actions_quarkus
You may visit to it have a working preview.

Using SHA now for asset names.
Formatted as:starfish-os_name-sha
Example:

(win64): starfish-win64-4ca42c0ee09d690f4d75e1b1905d0beb3319815e.exe
(linux): starfish-linux-4ca42c0ee09d690f4d75e1b1905d0beb3319815e
(macos): starfish-macos-4ca42c0ee09d690f4d75e1b1905d0beb3319815e


Re enable fold single line

Re enabled folding of single line. To "solve" the problem where fold every state will fold the parent if one of the states is a single line I added a constraint that you can't combine multi and single line targets. In that case just used the multiline targets. Multiple single line targets is fine though.
fixes #72

Tempted to introduce visible ranges to recorded tests for this one. As long as the file fits within a reasonable sized window I think it should be fairly straightforward

Tempted to introduce visible ranges to recorded tests for this one. As long as the file fits within a reasonable sized window I think it should be fairly straightforward

I think that should probably be fine


fix: make incrementName match multiple digits

Description

When you upload a file with name file-1.png and such a file already exists, Payload automatically changes the name to file-2.png. However, if the number consists of multiple digits, like file-10.png, Payload would create file-10-1.png instead, rather than the expected file-11.png.

[x] I have read and understand the CONTRIBUTING.md document in this repository

Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist:
Not currently completed any of those below because I don't have enough time right now. Let me know if the change is critical enough to require those.

[ ] I have added tests that prove my fix is effective or that my feature works
[ ] Existing test suite passes locally with my changes
[ ] I have made corresponding changes to the documentation
[x] I have tested in my project, though. I made the change directly in node_modules and it worked as expected

[x] I have tested in my project, though. I made the change directly in node_modules and it worked as expected

🤣 Bold move! Based on your limited change, I will allow it.

[x] I have tested in my project, though. I made the change directly in node_modules and it worked as expected

🤣 Bold move! Based on your limited change, I will allow it.


Libopencv_core.so.3.2 not found

``/usr/bin/ld: warning: libopencv_core.so.3.2, needed by /home/rohit/mywork/mediapipe-qt-integration-example/example-lib/lib/libexample.so, not found (try using -rpath or -rpath-link)
I am facing this error after running qmake MediapipeExample.pro and make. I have opencv installed (version 4.2). Seems like with apt install libopencv-core-dev opencv 4.2 gets installed but why is libopencv_core.so.3.2 is needed?

If you built mediapipe using their provided docker, it uses version 3.2 it seems, and hence you need that version.
If you built it on your own machine, and already had 4.2 installed, then probably it compiled its own version 3.2 and used that, maybe you can find it somewhere in bazel-bin.
I believe mediapipe builds opencv itself, and it most likely uses version 3.2, so in any case you will need the version it used, regardless of the reason.
On my Ubuntu 18.04, apt install libopencv-core-dev installs version 3.2, perhaps you're on a newer Ubuntu?
I see that Ubuntu has packages for version 3.2 so you can probably just apt install that.
In any case, you can copy the .so files from the docker to your machine, just like you copied libexample.so, and place it in the same directory as libexample.so and it should work.

yes I was using ununtu 20.04 earlier, it had opencv 4.2 installed and I built libexample.so in mediapipe's Docker, so it used opencv 3.2. The problem gets resolved in ubuntu 18.04.


Request textDocument/hover failed missing field line

I tried these code
#[link(name="sqlite3")]
extern "C" {
    pub fn sqlite3_libversion() -> *mut i8;
}

fn main() {}

when my cursor focus/hover on the keyword extern, rust-analyzer print error messages on vscode's output panel:
[Error - 9:17:06 AM] Request textDocument/hover failed.
  Message: Failed to deserialize textDocument/hover: .: missing field `line`; {"textDocument":{"uri":"file:///home/w/temp/ra_hover_bug/src/main.rs"},"position":{"start":{"line":1,"character":5},"end":{"line":1,"character":5}}}
  Code: -32602
[Error - 9:21:01 AM] Request textDocument/hover failed.
  Message: Failed to deserialize textDocument/hover: .: missing field `line`; {"textDocument":{"uri":"file:///home/w/temp/ra_hover_bug/src/main.rs"},"position":{"start":{"line":1,"character":2},"end":{"line":1,"character":2}}}
  Code: -32602

rust-analyzer version
[w@ww ~]$ rustup run nightly rust-analyzer --version
rust-analyzer ea105f9 2021-08-02 dev

rustc version and OS infomation
rustc 1.56.0-nightly (e3b1c12be 2021-08-02)
binary: rustc
commit-hash: e3b1c12becebd21d88ca9f4364d7db8d1d380c18
commit-date: 2021-08-02
host: x86_64-unknown-linux-gnu
release: 1.56.0-nightly
LLVM version: 12.0.1

FFI functions hover error fix in version:

rust-analyzer 8a8431133 2021-08-04 dev


Fixes for absolute positioning respective to offset parent

Issues when the in modals and scrolling as the choices are appended to the body

after some checkups in the project append to body was set always to true and that was the issue the dropdown was not positioned correctly


Make formatters pluggable / Add formatter for VSO (aka TFS, VSTS)

FEATURE REQUEST
Add a new formatter to support VSO / TFS integration.
PROPOSED SOLUTION
Implement a new 'VSO' formatter, either built-in or as a plugin. Both options require changes to the way sass-lint is currently implemented (see status below).
The solution would be to emit VSO logging commands, which are similar to TeamCity service messages.
STATUS
Blocked because formatters are loaded directly from ESLint Core. The ESLint team are no longer  adding new formatters to ESLint Core.
Please see https://github.com/eslint/eslint/issues/6262.

Thanks @mattbrooks2010 I'm not sure why they were directly using the eslint ones, I think it was a stop gap to get support for formatters before and it's just never been updated since I've been on board 😕 You're right though this definitely needs rectifying soon.
WIll look into it.

The ESLint team are no longer adding new formatters directly to ESLint Core.
It may therefore be worth making a simple change to sassLint.format to:

Retain support for existing ESLint formatters and existing user configurations, at least in the short term.
Allow additional formatters to be developed as standalone packages and used in an intuitive manner.

My suggestion is to hardcode the names of the 14 existing ESLint formatters to support (1) above and establish a new convention for referencing formatter packages for (2).
A couple of alternatives for (2) based on the existing code would be:
// Load formatter packages using formatter name directly
var formatted = require(config.options.formatter);
return formatted(results);

// Load formatter packages by applying a convention to the formatter name
var formatted = require(`sass-lint-formatter-${config.options.formatter}`);
return formatted(results);

// Load formatter packages by applying an alternative convention
var formatted = require(`sass-lint-${config.options.formatter}`);
return formatted(results);

Thoughts?

I would be really psyched if we could get the scss-lint formatter formatter onto sass-lint.
Personally I find the ESLint formatters to be extremely lacking in this area. You would think they would at least change the color of the file name to make it easier to pick it out from all of the other mundane white text everywhere. When you are dealing with many SCSS and JS files all being linted on large projects it makes using linters in the CLI a major step down.  It's painful when "upgrades" seem lack the good stuff from past implementations.


docker

today i just update vs-code then my docker got problem , when i type docker-compose ...... it shows docker-compose command not found or i type docker -v it shows docker command not found, but in cmd i can success

Did you close all VS code windows and restart again? Maybe the PATH's in the environment have changed


Publish to NPM

It looks like the last version that was published to NPM was 2 years ago v1.0.0.

Hey, yeah indeed. However the version on GitHub's package manager is much more recent. https://github.com/ScribeLabsAI/amazon-trp-node/pkgs/npm/amazon-trp

We do accept PRs if you feel like setting up the config for dual publishing though.


Positional forms of ain are missing unicodes.

When /arain (ع) is added to a font its positional forms come without their Unicode.
ع arain	      U+0639 (Unicode definition: ARABIC LETTER AIN)
  arain.init  Unicode is missing
  arain.medi  Unicode is missing
  arain.fina  Unicode is missing

However, there is another set of /ain that has their Unicode in GB's list.
ﻉ ain.isol U+0FEC9 (ARABIC LETTER AIN ISOLATED FORM)
ﻋ ain.init U+0FECA (ARABIC LETTER AIN INITIAL FORM)
ﻌ ain.medi U+0FECB (ARABIC LETTER AIN MEDIAL FORM)
ﻊ ain.fina U+0FECC (ARABIC LETTER AIN FINAL FORM)

I think either arain should be renamed as ain and the suffixed ones [arain.init/medi/fina] should be removed from the list.
Or [ain.isol/init/medi/fina] should be renamed as arain and merged with existing ones.
Since the other Arabic letters don't start with ar first option sounds more convenient to me.

This will be fixed in the upcoming PR.


mqoToEffekseerModelConverter.exe

Always thankful to your great product "Effekseer" and support.
Is "mqoToEffekseerModelConverter.exe" still available on your web site now?
I'm trying to put a logo effect in the website I'm working on next month. It moves along the edge of the 3D model logo. So I think it requires ".mqo file" AND "mqoToEffekseerModelConverter.exe". I'm afraid I can't find out the "."EXE" file. I'm wondering if it's still available or not.

mqoToEffekseerModelConverter.exe is contained in Tool/tools/
And it calls automatically from Effekseer when models are loaded

Thank you very much for your reply.
I got that it works automatically when 3D models loaded. (^^)


Compile methods: split stanc args from make args, add default include path

Closes #56.
This changes the Python and Julia compile_model methods and their associated constructors of the StanModel objects to allow you to specify arguments for make and stanc3. Additionally, mirroring cmdstanpy and cmdstanr, we add the current working directory as a default include path.

What is your preference for spaces surrounding equal signs within function definitions/calls? Over time, I think I've learned from you, no spaces in function definitions and spaces on either side of equals at call sites. Does julia/src/compile.jl follow this or am I mistaken?

My preference is simply "whatever a good formatting tool outputs". Thus far I've been using JuliaFormatter, though I'll admit to not being too happy with how slow it is/how poorly it integrates into my editor

By my reading, make and stanc args specified in compile_model function calls will take precedence over the same args specified in a Makefile, is this correct?

Yes. Things on the command line will take precedence over make/local, which itself takes precedence over environment variables. Good idea to mention this in the documentation.

Can multiple instances of --include-paths=. be used?

Huh, I thought this was the case but it seems not to be. All but the last is ignored, if you want to put multiple you need to pass them in the same invocation, separated by commas like --include-paths=.,/home/stan_fns.
So we should definitely move the default of . up to the start, so that later invocations will override it rather than the other way around