Merge pull request #17743 from RushabhMehta2005/optimization/extend-floats-prealloc
Some checks are pending
buf.build / lint and publish (push) Waiting to run
CI / Go tests (push) Waiting to run
CI / More Go tests (push) Waiting to run
CI / Go tests with previous Go version (push) Waiting to run
CI / UI tests (push) Waiting to run
CI / Go tests on Windows (push) Waiting to run
CI / Mixins tests (push) Waiting to run
CI / Build Prometheus for common architectures (push) Waiting to run
CI / Build Prometheus for all architectures (push) Waiting to run
CI / Report status of build Prometheus for all architectures (push) Blocked by required conditions
CI / Check generated parser (push) Waiting to run
CI / golangci-lint (push) Waiting to run
CI / fuzzing (push) Waiting to run
CI / codeql (push) Waiting to run
CI / Publish main branch artifacts (push) Blocked by required conditions
CI / Publish release artefacts (push) Blocked by required conditions
CI / Publish UI on npm Registry (push) Blocked by required conditions
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run

promql: preallocate slice in extendFloats optimization
This commit is contained in:
Julien 2026-01-09 12:40:00 +01:00 committed by GitHub
commit f0eaf596fe
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -4418,9 +4418,9 @@ func extendFloats(floats []FPoint, mint, maxt int64, smoothed bool) []FPoint {
lastSampleIndex--
}
// TODO: Preallocate the length of the new list.
out := make([]FPoint, 0)
// Create the new floats list with the boundary samples and the inner samples.
count := max(lastSampleIndex-firstSampleIndex+1, 0)
out := make([]FPoint, 0, count+2)
out = append(out, FPoint{T: mint, F: left})
out = append(out, floats[firstSampleIndex:lastSampleIndex+1]...)
out = append(out, FPoint{T: maxt, F: right})