perf(tree): reduce allocations in findCaseInsensitivePath (#4417)

Co-authored-by: Artur Melanchyk <13834276+arturmelanchyk@users.noreply.github.com>
This commit is contained in:
Artur Melanchyk 2026-01-24 17:46:02 +01:00 committed by GitHub
parent d9e5cdf9c6
commit cad29c5e3f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -671,12 +671,7 @@ walk: // Outer loop for walking the tree
func (n *node) findCaseInsensitivePath(path string, fixTrailingSlash bool) ([]byte, bool) {
const stackBufSize = 128
// Use a static sized buffer on the stack in the common case.
// If the path is too long, allocate a buffer on the heap instead.
buf := make([]byte, 0, stackBufSize)
if length := len(path) + 1; length > stackBufSize {
buf = make([]byte, 0, length)
}
buf := make([]byte, 0, max(stackBufSize, len(path)+1))
ciPath := n.findCaseInsensitivePathRec(
path,