Files
Craig Tiller ebc0395cee [metadata] Optimize metadata creation (#37111)
- add a benchmark for various metadata creation styles
- add factory functions for status + message - these are 3-10x faster than going via absl::Status
- add a `MakePooledForOverwrite` function to Arena, use it everywhere -- this naming matches `std::make_unique_for_overwrite` in C++20, and avoids some language mandated initialization in `Table` (underlying `MetadataMap<>`) - speeding creation of metadata handles by 30%

For `bm_call_spine` we see before:
```
BM_UnaryWithSpawnPerEnd<CallSpineFixture>_median             745 ns          745 ns
```
and after:
```
BM_UnaryWithSpawnPerEnd<CallSpineFixture>_median             699 ns          699 ns
```

Closes #37111

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/37111 from ctiller:meta-magic-2 100464fc7e2c12f881f3d5a10ad6d7335d4f582c
PiperOrigin-RevId: 652900726
2024-07-16 10:46:30 -07:00
..