Fwd: [squeak-dev] Re: squeak XTream

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Fwd: [squeak-dev] Re: squeak XTream

Stéphane Ducasse


Begin forwarded message:

> From: Levente Uzonyi <[hidden email]>
> Date: December 3, 2009 7:13:27 AM GMT+01:00
> To: The general-purpose Squeak developers list <[hidden email]>
> Subject: Re: [squeak-dev] Re: squeak XTream
> Reply-To: The general-purpose Squeak developers list <[hidden email]>
>
> On Tue, 1 Dec 2009, Andreas Raab wrote:
>
>> Well, I'm still in the business of shopping for a faster version of FileStream ;-)
>>
>
> I uploaded two packages to the inbox (Files-ul.37 and Multilingual-ul.68) which aim to speed up the read performance of FileStreams. Files-ul.37 adds read buffering to StandardFileStream and subclasses, while Multilingual-ul.68 inlines a few methods. With these changes I measured ~13.5x speedup for:
>
> Smalltalk garbageCollect.
> [ FileStream readOnlyFileNamed: 'yourlargefile.txt' do: [ :file |
> [ file next == nil ] whileFalse ] ] timeToRun
>
> and ~39.5x speedup for:
>
> Smalltalk garbageCollect.
> [ StandardFileStream readOnlyFileNamed: 'yourlargefile.txt' do: [ :file |
> [ file next == nil ] whileFalse ] ] timeToRun
>
> (where yourlargefile.txt is an 1MB sized file with random data)
>
> The code is far from clean, some tests fail (15 of 37 BitmapStreamTests), but it seems to be working (though I'm sure there are a few bugs). I would be happy if someone could find out why the tests fail. Also a better test suite would be helpful.
>
> Note that as soon as a write is performed the read buffer is killed, so mixed read/write behavior is probably slower than before. Also note that loading the changes may harm your image/changes file.
>
>
> Levente
>


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project