stackitem: microoptimize memory management of Make()

Preallocate as much as needed.

Signed-off-by: Roman Khimov <roman@nspcc.ru>
This commit is contained in:
Roman Khimov 2024-08-24 22:00:46 +03:00
parent e8a86e617b
commit 93ecd61079

View file

@ -124,17 +124,17 @@ func Make(v any) Item {
case Item:
return val
case []int:
var a []Item
for _, i := range val {
a = append(a, Make(i))
var res = make([]Item, len(val))
for i := range val {
res[i] = Make(val[i])
}
return Make(a)
return Make(res)
case []string:
var a []Item
for _, i := range val {
a = append(a, Make(i))
var res = make([]Item, len(val))
for i := range val {
res[i] = Make(val[i])
}
return Make(a)
return Make(res)
case []any:
res := make([]Item, len(val))
for i := range val {