Blackfoot

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Blackfoot

Göran Krampe
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

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Blackfoot

EstebanLM
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 <[hidden email]> 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



_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Blackfoot

Göran Krampe
Hi!

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

I will release it very soon - I just need to get to some kind of
"working state". :) Currently BFHttpRequest is extremely bare bone and
does definitely not work together with Seaside for example.

But Very Soon - typically during next week - I don't want to post and
then not publish. :)

regards, Göran

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside