apple / apple/foundationdb

Investigate size 16 and 32 fastallocator usage

Open
#1,674 1 comment 0 reactions 0 assignees View on GitHub
performance
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.