Commits
Click on a commit to change the comparison rangeperf(allocator): remove `Arc` from `AllocatorPool` (#11760)
Follow-on after #11736. Remove the overhead of `Arc` from `AllocatorPool`.
This does introduce more lifetimes in linter, which is unwelcome, but as well as removing the synchronization overhead of `Arc`, I think it reflects the semantics of what we're trying to do more correctly.
`AllocatorPool` solely owns the `Vec<Allocator>` pool. It doesn't need to (and shouldn't) share ownership of it with `AllocatorGuard`s, which `Arc` does. So `AllocatorGuard`s can just hold a reference to the `AllocatorPool`.5 days ago
by overlookmotel