FileStream speed up

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

FileStream speed up

Stéphane Ducasse
Hi levente

can you have a look at the attached cs?



I integrated up (ul47 -> ul.58) to the change of david  because I would prefer that marcus has a look at them

Thanks

stef


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

filestream2.3.cs (23K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] FileStream speed up

Levente Uzonyi-2
On Wed, 20 Jan 2010, Stéphane Ducasse wrote:

> Hi levente
>
> can you have a look at the attached cs?
>

I had a quick look and found that the changes for MultiByteFileStream are
still missing. Those are the first that you should apply. Why? Because
some methods (#upToEnd IIRC) use the collection instance variable for no
reason. If you keep that method and apply the changes to
StandardFileStream, (as I pointed out earlier) the system may break.
Also the fix from Files-ul.67 is missing (StandardFileStream >> #upTo:).

I suggest you to make 3 steps to integrate the changes:
1. Integrate the changes to MultiByteFileStream
2. Integrate the changes to StandardFileStream
3. Evaluate:
   StandardFileStream allSubInstancesDo: [ :each |
     each closed ifFalse: [ each enableReadBuffering ] ]
Then save the image, run tests, reopen the image, run tests. Every test
should pass which passed before.


Levente
_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] FileStream speed up

Stéphane Ducasse
thanks I will have a look and follow your advice.


>
>> Hi levente
>>
>> can you have a look at the attached cs?
>>
>
> I had a quick look and found that the changes for MultiByteFileStream are still missing. Those are the first that you should apply. Why? Because some methods (#upToEnd IIRC) use the collection instance variable for no reason. If you keep that method and apply the changes to StandardFileStream, (as I pointed out earlier) the system may break.
> Also the fix from Files-ul.67 is missing (StandardFileStream >> #upTo:).
>
> I suggest you to make 3 steps to integrate the changes:
> 1. Integrate the changes to MultiByteFileStream
> 2. Integrate the changes to StandardFileStream
> 3. Evaluate:
>  StandardFileStream allSubInstancesDo: [ :each |
>    each closed ifFalse: [ each enableReadBuffering ] ]
> Then save the image, run tests, reopen the image, run tests. Every test should pass which passed before.
>
>
> Levente_______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


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