Структура с большим массивом гоняется по значению

ЗадачаMiddle10 минбесплатнонапиши код11-t001

Дана структура с полем-массивом [4096]int, которая часто копируется целиком: конструктор принимает массив и возвращает структуру по значению, метод сериализации тоже получает её по значению. Переработайте структуру и методы так, чтобы лишних копий большого массива не было. Как вы докажете, что стало лучше?

main.gogo
1package main2 3import "encoding/json"4 5type payload struct {6	Buf   [4096]int7	Label string8	Count int9	Items []int10}11 12func newPayload(buf [4096]int, items []int, label string, count int) payload {13	return payload{Buf: buf, Items: items, Label: label, Count: count}14}15 16func (p payload) Marshal() ([]byte, error) {17	return json.Marshal(p)18}
⌘ Enter — проверить