From 002a1a779bcd60732ccd2f75ecc69f48813e5fc9 Mon Sep 17 00:00:00 2001 From: Weizhen Wang Date: Sat, 8 Feb 2025 11:07:52 +0800 Subject: [PATCH] datum: remove wrong usage of pool and prealloc the buffer (#59331) close pingcap/tidb#59332 --- pkg/types/datum.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/pkg/types/datum.go b/pkg/types/datum.go index 3d25f16cce..dd3f56da8e 100644 --- a/pkg/types/datum.go +++ b/pkg/types/datum.go @@ -23,7 +23,6 @@ import ( "sort" "strconv" "strings" - "sync" "time" "unicode/utf8" "unsafe" @@ -2431,16 +2430,11 @@ func (ds *datumsSorter) Swap(i, j int) { ds.datums[i], ds.datums[j] = ds.datums[j], ds.datums[i] } -var strBuilderPool = sync.Pool{New: func() any { return &strings.Builder{} }} - // DatumsToString converts several datums to formatted string. func DatumsToString(datums []Datum, handleSpecialValue bool) (string, error) { n := len(datums) - builder := strBuilderPool.Get().(*strings.Builder) - defer func() { - builder.Reset() - strBuilderPool.Put(builder) - }() + builder := &strings.Builder{} + builder.Grow(8 * n) if n > 1 { builder.WriteString("(") }