The implementation could be adapted so that if the chunked memory  
stream is initialized with an existing byte array it behaves like it  
did in the past.  It's possible that the best approached can be  
derived for the various MemoryStream constructors.

The question is what is the most common usage pattern?  If it's  
GetBuffer(), then there will be a performance and overhead hit.   
However, if it's using Write()/Read() as we do, then there are some  
significant gains to be had.  GetBytes() would also benefit, though  
not as much.

- Steve

--------------
Steve G. Bjorg
http://mindtouch.com
http://twitter.com/bjorg
irc.freenode.net #mindtouch

On Nov 9, 2009, at 11:41 AM, Andreas Nahr wrote:

> Are you talking about System.IO.MemoryStream?
> Then imho this would be a problematic move.
> Most people are used to new MemoryStream (someByteArray) being O(0)  
> time,
> but with ChunkedStream would be O(n). In fact in those cases  
> ChunkedStream
> would need twice the memory because it would still need to retain the
> original byte array (e.g. for GetBuffer).
>
> Happy hacking
> Andreas
>
> -----Ursprüngliche Nachricht-----
> Von: mono-devel-list-boun...@lists.ximian.com
> [mailto:mono-devel-list-boun...@lists.ximian.com] Im Auftrag von  
> Miguel de
> Icaza
> Gesendet: Montag, 9. November 2009 19:10
> An: mono-devel-list
> Betreff: [Mono-dev] Should we replace MemoryStream?
>
> Hello folks,
>
>    I just blogged about a memory fragmentation issue here:
>
>       http://tirania.org/blog/archive/2009/Nov-09.html
>
>    And I am wondering: since MemoryStream is one of these sources of
> problems, we could replace this implementation with MindTouch's
> ChunkedStream.
>
> Miguel.
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list

_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Reply via email to