>> 
> Thanks for the explanation, some quick and dirty buffering makes a huge 
> difference:
> 
> [ FileStream fileNamed: '/tmp/numbers.txt' do: [ :fileStream | 
>       1000 timesRepeat: [ 
>               fileStream nextPutAll:
>                       (String streamContents: [ :stream |
>                               100 timesRepeat: [ stream print: 100 atRandom; 
> space ] ]) ] ] ] timeToRun.
> 159
> 
> Still, the asymmetry is a bit strange.
> Can't the side effects be dealt with using #flush ?
> 
>> There are several stream libraries (for example XTreams) that can easily 
>> support write buffering without the need to care about compatibility.
> 
> Yeah, although the Smalltalk Collection and Stream classes were better than 
> everything else 20, 30 years ago, lots of things have changed and there is 
> lots of competition. The fact that these classes are so nice to use seem to 
> have prevented necessary improvements.


Yes time to move.

> 
> I think I might file this as a Pharo issue.
> 
> Sven
> 
> 


Reply via email to