Как преобразовать значение отражения в массив более эффективным - PullRequest
0 голосов
/ 27 июня 2019

Я оптимизирую код десериализации данных и обнаружил, что производительность десериализованных массивов низкая.

    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, хотя этот адрес действительно существует.

Есть ли способ сделать этот методвыполнять быстрее?

...