У меня есть код который парсит файл побайтно, внутри есть что-то типо такого (упрощено)
int DeserializeObject(ReadOnlySpan<byte> bytes) {
var chars = Encoding.ASCII.GetString(bytes);
return int.Parse(chars);
}
Парсинг чисел (int.Parse) может принимать ReadOnlySpan, но только типа char, а не byte
Просто использование выделения памяти для строк с помощью Encoding.ASCII.GetString замедляет работу кода в 5-6 раз, я хотел бы передавать срез байтов напрямую чтобы преобразовать их в числа
Так вот, какой есть способ из ReadOnlySpan сделать ReadOnlySpan не выделяя памяти? Или, делая это очень ограничено и быстро?
Или возможно есть другой способ преобразовать ReadOnlySpan в число?
Внутри ReadOnlySpan хранятся обычные символы с представлением числа в виде строки
Или возможно стоит сделать свою реализацию int.Parse? Будет ли это быстрее?