Я оптимизирую код десериализации данных и обнаружил, что производительность десериализованных массивов низкая.
l := rv.Len()
byteArray := make([]byte, l) //rv.Interface().([l]byte)
if _, err = d.Read(byteArray[:]); err == nil {
for index, val := range byteArray {
rv.Index(index).Set(reflect.ValueOf(val))
}
}
Я пытался использовать указатели для непосредственного чтения позиции массива и назначениязначение непосредственно, но для типа массива ошибка приглашения rv.Pointer () и отражает не обеспечивает способ получения ptr, хотя этот адрес действительно существует.
Есть ли способ сделать этот методвыполнять быстрее?