Paolo Bonzini's blog
All you should really know about Autoconf and Automake
So, here is the shortest possible tutorial on the autotools.
The problem with autotools is that it is used for complicated things, and people cut-and-paste complicated things even when they ought to be simple. 99% of people just need a way to access .pc files and generate juicy Makefiles; the portability part is taken care by glib, sdl and so on.
You can use then the following basic autotools setup, which is just 9 lines. You can start from here and add more stuff (including libtool).
- configure.ac:
AC_INIT([package], [version]) AM_INIT_AUTOMAKE([foreign subdir-objects])
Optimizing HTTP header manipulation, part 2
In the previous post I told you how a couple of primitives (which means, modifications to the base classes) helped speeding up HTTP processing in Swazoo by a factor of 6.
Today I'll remove another part of it by modifying Swazoo itself. To remove Seaside, I used the simple "hello world" site that Swazoo serves if you start it with
gst-load --start=swazoodemo Swazoo
Optimizing stream operations
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
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.
