Optimize Arena Ctor/Dtor for lazy field

LazyField explicitly registers `ArenaDtor` for destructing the lazy Cord contents which is particularly heavily used in extension sets. This is inefficient as it requires an indirect thunk call into the lazy field instance which then itself calls the Cord destructor. We can directly register the Cord for destruction which results in half the cleanup space (Tagged cleanup), and a direct call into the Cord destructor.

PiperOrigin-RevId: 491379222
pull/11054/head
Martijn Vels 2 years ago committed by Copybara-Service
parent f3873dd6fc
commit d5f759f7a4
  1. 1
      docs/third_party.md

@ -21,7 +21,6 @@ These are projects we know about implementing Protocol Buffers for other program
* C: https://github.com/eerimoq/pbtools
* C++: https://github.com/protocolbuffers/protobuf (Google-official implementation)
* C++: https://EmbeddedProto.com
* C++: https://github.com/yksten/ProtobufWrapper
* C/C++: http://spbc.sf.net/
* C#: https://code.google.com/p/protobuf-csharp-port
* C#: https://silentorbit.com/protobuf/

Loading…
Cancel
Save