Paolo Bonzini's blog

Optimizing stream operations

Tagged:  •    •    •    •    •  

One of the improvements in GNU Smalltalk 3.1 was the optimization of block operations on Streams. Basically, methods such as #next: and #nextPutAll: were rewritten to use fast collection operations instead of copying data element by element to the stream. Since #replaceFrom:to:with:startingAt: (the basic Smalltalk "move" operation) ultimately boils down to a memmove call, this is extremely fast.

But was this the end of the story? Today, after getting some inspiration from Nicolas Petton, I decided to try profiling Seaside and Swazoo.

GNU Smalltalk featured on Industry Misinterpretations

This week's episode of James Robertson's podcast features an interview with yours truly. Post your comments and impressions here or on the mailing list!

Paolo

GNU Smalltalk running under Wine

Tagged:  •    •    •  

Well, the summary says it all. . The first small steps were done quite some time ago, by rewriting every shell script that did not really need the shell in C or Smalltalk. Yesterday I finished the job, so that now it's possible to just do ../configure --host=i686-pc-mingw32 && make.

It took a while for two reasons: first because I overlooked wineconsole and it turns out it's a crucial step to running GNU Smalltalk under Wine; second, because GNU Smalltalk runs at build time, and it has to interact with the Unix paths.

Emacs-ifying vim's autoindent

Tagged:  •    •  

I switch very often between Emacs and vim for my editing, and for this reason I've set up Emacs to use viper (vi emulation) and a couple more hacks that emulate vim's visual mode as well.

About stable releases

Tagged:  •    •  

There was an interesting thread on reddit about how glibc releases are managed. Well, interesting except for calling names at the glibc maintainer, so you have to filter out that to get the real message.

Syndicate content

User login