RecyclableMemoryStream提供高性能的.NET流

15-02-07 banq
                   

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); 
}
<p>

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