I experimented a quick hack for StandardFileStream BufferedFileStream
-> 5x to 7x on micro-benchmarks
I stopped developing it because working on current Stream hierarchy
just is horrorfull !
Like for example an inst var change of semantic in a subclass, or is
just not used (try upToAnyOf: in various streams to see what I
mean)...
Disgusting...
I prefer a full rewrite, and it is under development at
http://www.squeaksource.com/XTream
It is read/write to anyone and MIT.
Yet i have Xtreams on collections and readOnly files passing some
tests (only 40% coverage).
It tries to gather lots of ideas popping regularly in various flavours
- squeak/vw/gst (lazy streams, Nile, VW Xtreams, generators, etc...).
The real bottleneck in Squeak/Pharo is MultiByteFileStream, and it is
a piece of code I recommend for teaching how to not program in
Smalltalk.
I won't spend much time to change it any more, just replace and throw
away will now be my policy.
The Buffered trick should also be ported to Nile, it would be then
interesting to compare complexity and efficiency of both libraries.
Cheers
Nicolas
2009/12/3 Stéphane Ducasse <stephane.ducasse(a)inria.fr>fr>:
hi guys
Apparently nicolas cellier is implementing faster stream so this would probably help
moose
loading huge models.
Nicolas could you let us know when you have a version that we can try. We could come up
with real bench on really large files.
Cyrille it could be really worth that you have a look. There is a thread on squeak-dev
Stef