{{ message }}
Commit a2a4b33
buffer: increase Buffer.poolSize default to 64 KiB
The 8 KiB default has been unchanged since 2015. With the threshold
check `size < (Buffer.poolSize >>> 1)`, this means allocations of 4 KiB
or larger bypass the pool entirely — including 4 KiB itself, a common
page and HTTP-frame size.
Raising the default to 64 KiB extends pool coverage to ~32 KiB
allocations, capturing common sizes used by HTTP parsers, stream
chunks, and small file reads.
Throughput improvements on workers-k=8 fs.readFileSync benchmarks
(Linux/glibc) at the affected sizes, with no regressions elsewhere:
file size | 8 KiB pool | 64 KiB pool | delta
-----------+--------------+---------------+-------
4 KiB | 326k ops/s | 360k ops/s | +10%
8 KiB | 202k ops/s | 254k ops/s | +26%
16 KiB | 148k ops/s | 181k ops/s | +23%
64 KiB | 86k ops/s | 87k ops/s | ~
1 MiB | 12k ops/s | 13k ops/s | ~
Cost: +56 KiB RSS per realm at startup.
Signed-off-by: Matteo Collina <hello@matteocollina.com>
PR-URL: #63597
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>1 parent a6e2322 commit a2a4b33
2 files changed
Lines changed: 7 additions & 3 deletions

0 commit comments