UPSTREAM PR #27111: feat: enable generic access to message full names#160
UPSTREAM PR #27111: feat: enable generic access to message full names#160
Conversation
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
OverviewAnalysis of commit 7186ebc ("feat: enable generic access to message full names") shows net positive performance impact across 10,161 total functions (36 modified, 0 new, 0 removed, 10,125 unchanged). Binary: Function AnalysisMpRepeatedVarintT (TcParser parsing hot path):
AllocateOptionsImpl (descriptor building):
ValidateFeatureSupport (compile-time validation):
Code generation functions (default_value, GenerateMemberConstexprConstructor):
Minor regressions in non-critical paths: call_once (+16.3% throughput, +48ns), InvokeObject (+58.4% throughput, +24ns), and security hardening overhead (+20-32ns) in FindAllFileNames and GetLocationPath. All acceptable trade-offs for initialization/error paths. Flame Graph ComparisonMpRepeatedVarintT — illustrates the 75% response time improvement driven by arena allocator optimization: The base version shows significantly deeper call stacks through memory allocation paths (42.6ms total), while the target version exhibits more efficient allocation patterns with reduced overhead in GetSerialArenaSlow and related functions (10.6ms total). Additional FindingsNo source code changes were detected in the analyzed functions. Performance improvements stem from compiler optimizations enabled by type consistency improvements in the commit. The 75% improvement in MpRepeatedVarintT—a TcParser hot path function—provides the most significant benefit to protobuf's performance-critical parsing infrastructure. 💬 Questions? Tag @loci-dev |
f292971 to
1fdfb93
Compare


Note
Source pull request: protocolbuffers/protobuf#27111