From e4f14c8885b4faf8277614c10b9a376a0554085a Mon Sep 17 00:00:00 2001 From: ale <ale@incal.net> Date: Fri, 29 Dec 2023 20:45:53 +0000 Subject: [PATCH] Allocation optimization --- schema/tuples.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/schema/tuples.go b/schema/tuples.go index 322a9aa..6077f08 100644 --- a/schema/tuples.go +++ b/schema/tuples.go @@ -82,6 +82,10 @@ func RecordToTuples(record []byte) ([]Tuple, []TypeError, error) { return nil, nil, err } - tuples, unprocessed := flatten(m, "", nil, nil) + // Allocation optimization: assume the incoming record is + // flat-ish and preallocate a Tuple slice. + tupleBuf := make([]Tuple, 0, len(m)) + + tuples, unprocessed := flatten(m, "", tupleBuf, nil) return tuples, unprocessed, nil } -- GitLab