Почему-то мало кто знает про такую полезную штуку как Microsoft.IO.RecyclableMemoryStream - а тем временем он делает много полезных вещей:
💙Eliminate Large Object Heap allocations by using pooled buffers
💙Incur far fewer gen 2 GCs, and spend far less time paused due to GC
💙Avoid memory leaks by having a bounded pool size
💙Avoid memory fragmentation
💙Allow for multiple ways to read and write data that will avoid extraneous allocations
Не очень полезно, но бывает нужно:
💙Provide excellent debuggability and logging
💙Provide metrics for performance tracking
Подробное описание с картинками - на вышеуказанном проекте в github. Если у вас в коде много MemoryStream'ов для разных надобностей - очень рекомендуется посмотреть в эту сторону. #dotnet
Post #103
156