[Pharo-project] Ocean (was Re: Less plugins, more Smalltalk code! (was: Re: Pharo 1.1.1 OneClickCogVm))

Stéphane Ducasse stephane.ducasse at inria.fr
Tue Oct 5 12:02:01 EDT 2010

>>>> Noury,
>>>> One of the other aspects that I find important is elementary efficiency.
>>>> A lot of stream related code in Smalltalk is not efficient, the actual data is copied around like crazy, turning it from a stream to a collection and then back into a stream multiple times. For Zinc HTTP Components I made a lot of effort to make it possible to read data from a socket stream in true streaming fashion (instead of just returning a byte array). Now, the idea was then that for example JPEGReadWriter>>#nextImage would work transparaently on that raw stream. Sadly, the code in JPEGReadWriter and friends just reads everything into an array before it starts to work !
>>>> Doing a #nextPutAll: <some byte array> should really try never to copy the array. Similary, a #next: <count> into: <some byte array> should similary write directly into the given array. What I see in the current SocketStream is <censored/> ;-)
>>> This is why we implemented our own SocketStream in PostgresV3.
>> what is the license?
> It's MIT, but it's not a general purpose SocketStream.

More information about the Pharo-dev mailing list