Информация об изменениях

Сообщение Re[3]: GC.AllocateUninitializedArray<T> от 22.07.2020 22:57

Изменено 22.07.2020 22:58 Mystic Artifact

Re[3]: GC.AllocateUninitializedArray<T>
Здравствуйте, Mystic Artifact, Вы писали:

MA> Это, я к чему — работы там — непаханное болото. Очень классно, что оно активно сдвигается, но как по мне GC.AllocateUninitializedArray и подобные вещи на этом фоне — меркнут. Да, они позволяют делать легально некоторые вещи, но в то же время, ArrayPool это же самое не использует? Более того, провоцирует возвращать очищенные массивы в пул. А оно надо? Да, есть параметр. Но, это именно вывернутый вопрос наизнанку, т.к. сейчас любая библиотека может вернуть как очищенный так и не очищенный буффер в него. Это инфраструктурный фейл. Нам впарили фичу которая не нужна, и нам дали инструмент который может дать обойти фичу которая нам не нужна. ...


В .NET 5 ArrayPool уже использует GC.AllocateUninitializedArray и при возврате буфера, по умолчанию он не очищается (как и в 3.1). Надо быть аккуратнее.
Re[3]: GC.AllocateUninitializedArray<T>
Здравствуйте, Mystic Artifact, Вы писали:

MA> Это, я к чему — работы там — непаханное болото. Очень классно, что оно активно сдвигается, но как по мне GC.AllocateUninitializedArray и подобные вещи на этом фоне — меркнут. Да, они позволяют делать легально некоторые вещи, но в то же время, ArrayPool это же самое не использует? Более того, провоцирует возвращать очищенные массивы в пул. А оно надо? Да, есть параметр. Но, это именно вывернутый вопрос наизнанку, т.к. сейчас любая библиотека может вернуть как очищенный так и не очищенный буффер в него. Это инфраструктурный фейл. Нам впарили фичу которая не нужна, и нам дали инструмент который может дать обойти фичу которая нам не нужна. ...


В .NET 5 ArrayPool уже использует GC.AllocateUninitializedArray и при возврате буфера, по умолчанию он не очищается (как и в 3.1). Надо быть аккуратнее с заявлениями.