Investigate size 16 and 32 fastallocator usage
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 1.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 126
Description
It was noted that we [instantiate fastallocator<16> and <32>](https://github.com/apple/foundationdb/blob/5bdf5aaeb60d1e0cdea9978240ccb1d3839e94da/flow/FastAlloc.cpp#L529), but ::new() [prevents them from being used](https://github.com/apple/foundationdb/blob/5bdf5aaeb60d1e0cdea9978240ccb1d3839e94da/flow/FastAlloc.h#L178). This doesn't quite make sense. It'd be good to run some performance tests with 16 and 32 byte fastallocator pools enabled, and see if that improves things, or worsens them and we should just remove them entirely.
Contributor guide
Research direction
Read flow/FastAlloc.cpp around line 529 and flow/FastAlloc.h around line 178; verify how fastallocator<16> and <32> are instantiated and why ::new() prevents their use. Run performance tests with the pools enabled and disabled, then document whether the results justify retaining or removing them.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- performance
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100