RecyclableMemoryStream提供高性能的.NET流

Bing团队发布了Microsoft.IO.RecyclableMemoryStream,用于高性能的.NET stream:Microsoft/Microsoft.IO.RecyclableMemoryStream · Git

这个库包是.NET MemoryStream替代,优化提供了对象池以提高应用的性能,在以下几个方面优化:

1.通过池化缓冲消除了大型对象的Heap分配
2.更少的GC, 每次GC导致的暂停更短
3.通过固定大小的对象池避免了内存泄漏
4.避免内存碎片
5.提供超棒的调试性
6.提供性能跟踪衡量

代码案例:


var sourceBuffer = new byte[]{0,1,2,3,4,5,6,7};
var manager = new RecyclableMemoryStreamManager();
using (var stream = manager.GetStream())
{
stream.Write(sourceBuffer, 0, sourceBuffer.Length);
}


[该贴被banq于2015-02-08 17:44修改过]