<br><br><div class="gmail_quote">On Tue, May 17, 2011 at 3:34 PM, Sven Van Caekenberghe <span dir="ltr">&lt;<a href="mailto:sven@beta9.be">sven@beta9.be</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Mariano,<br>
<div class="im"><br>
On 17 May 2011, at 15:21, Mariano Martinez Peck wrote:<br>
<br>
&gt; Now Igor told us for example, to use a buffer like this:<br>
&gt;<br>
&gt;     | bufferStream |<br>
&gt;     bufferStream := ByteArray new writeStream.<br>
&gt;<br>
&gt;     (FLSerializer on: bufferStream)<br>
&gt;         serialize: anArrayToSerialize.<br>
&gt;<br>
&gt;     aFileStream nextPutAll: bufferStream contents.<br>
&gt;<br>
&gt; and that it at least 2 times faster than we were doing.... I guess it is because it goes to the disk only once. But MultiByteFileStream uses a buffer, doesn&#39;t it ?<br>
<br>
</div>The disadvantage of the above is that you buffer everything before you write. Furthermore you are growing the buffer all the time (recopying contents) which is not too efficient.<br>
<br>
Some time ago we had a discussion about this and then I implemented ZnBufferedWriteStream (it should be in Core 1.3), have a look. It was just a quick hack, but it worked in speeding up writing.<br>
<font color="#888888"><br></font></blockquote><div><br>Thanks Sven, what a great point you gave me. I tried it a little and I found a couple of methods missing which I used to use for a normal WriteStream.<br>I will play a little more when I have time and I will ask you again!!<br>
</div></div><br><br clear="all"><br>-- <br>Mariano<br><a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br><br>