Subject: Re: A critic of Guido's blog on Python's lambda
From: rpw3@rpw3.org (Rob Warnock)
Date: Tue, 09 May 2006 04:11:45 -0500
Newsgroups: comp.lang.perl.misc,comp.lang.python,comp.lang.java.programmer,comp.lang.lisp,comp.lang.functional
Message-ID: <lv-dnXZEUq9Mwf3ZRVn-jg@speakeasy.net>
Pisin Bootvong <joesb.coe9@gmail.com> wrote:
+---------------
| Rob Warnock wrote:
| > | No matter how scalable your language is, you cannot make a
| > | 100MHz/128MB server serve 100,000 client a second over the internet.
| > +---------------
| >
| > Sure you can! That's ~1000 CPU cycles/request, which [assuming at least
| > a 100BASE-TX NIC] is plenty to service 100K *small* requests/s...  ;-}
| 
| Well, I was really asking for a service that really service something
| complicate and useful though :-D
+---------------

If "only" being useful is enough, 100 cycles is enough for a DNS server,
or an NTP server, or even a stub HTTP server that delivers some small
piece of real-time data, like a few realtime environmental sensors
[temperature, voltages, etc.].

+---------------
| > Of course, you might have to write it in assembler on bare metal,
| > but the good news is that with only a 1000 cycle budget, at least
| > the code won't be very large!  ;-}
| 
| And donot forget to account for OS CPU time (well may be you can write
| your own OS for it too :-D )
+---------------

Uh... What I meant by "bare metal" is *no* "O/S" per se, only a
simple poll loop servicing the attention flags[1] of the various
I/O devices -- a common style in lightweight embedded systems.


-Rob

[1] a.k.a. "interrupt request" bits, except with interrupts not enabled.

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607