[Seaside] Re: Blackfoot

Esteban Lorenzano estebanlm at gmail.com
Fri Sep 12 22:39:09 UTC 2008


Hi Goran,
Great news... I will need something like this very soon, when do you 
think this will be released?

Cheers,
Esteban


On 2008-09-11 05:08:07 -0300, Göran Krampe <goran at krampe.se> said:

> Hi folks!
> 
> Last night I came to milestone 0.001 in a small hobby project I decided to
> call Blackfoot (for no apparent reason). It is:
> 
> - A replacement for KomHttpServer aimed at primarily serving the needs of
> Seaside *in Squeak* (not other Smalltalks). But also other web solutions
> in Squeak.
> 
> - *Not* a fullblown web server like Kom but rather an implementation using
> SCGI (Simple CGI from the Python folks). Like FastCGI but mucho simpler.
> 
> - Clean, lean and mean code base. I am creating this as a standalone
> package (no dependency on TcpService nor DynamicBindings) with BF-prefixed
> classes. I want code to be readable and hackable.
> 
> - For Dynamically scoped variables I will use the Seaside Notification
> pattern (simple and nice).
> 
> - It uses regular SocketStream at the bottom and a listen loop more or
> less like in Kom/WAListener etc.
> 
> - It will not do virtualhosts, file serving, the whole mod-stack that Kom
> has etc etc.
> 
> ...ok, so what is the tantalizing result that I need to have in order to
> make such a post? :) Last night I did a quick and dirty benchmark using ab
> on a "hello world"-handler. It did nothing but returning 22 bytes "as a
> HttpResponse". So far I also use the existing HttpResponse so that code
> may very well be optimizable too. I compared with Kom and came roughly up
> with these two positives:
> 
> - Blackfoot serves around 2x the speed for such small requests. On my
> small laptop I got 750 req/sec, while Kom gave about 350. When I removed
> all header parsing I got 1000 - so header parsing is still a hefty part of
> the story for such small requests. Note that I have not done any bigger
> payloads yet.
> 
> - Blackfoot serves *much* more consistently. Kom had awful "max" values,
> especially when cranking up number of clients.
> 
> So it looks promising. Oh, I used Cherokee 0.8.1 as webserver - very nice
> and very fast little bugger! :) Other possible alternatives with existing
> SCGI implementations are Lighttpd, Nginx and of course Apache.
> 
> Will get back when I have something that works with Seaside examples.
> 
> regards, Göran





More information about the seaside mailing list