----- Original Message -----
Sent: Thursday, March 01, 2001 2:38
PM
Subject: Re: [Nel] Network
Connections
3) Windows did support something called micro
threads, which had a much lower over head than traditional threads.
These ( if i remember correctly ) were designed specifically for scalable IO
( as in IIS ). Some time looking here may well yield some useful
results.
I come from a nix background, but I wouldn't
doubt that windows also has had some implementation of microthreads. The
best current way to use microthreads afaik is stackless python (stackless.org)
which I (as the game mechanics programmer) plan to use on the server side of
the game my company (In-Orbit Entertainment) is working on using the Nel
library. Microthreads use an old and mostly forgotten programming
concept called continuations- a continuation is, in brief, the rest of a
program from any given point- that includes it's state and any branch of code
it might follow from there. Stackless Python provides a way to reference
continuations- which requires it not to use the C stack for framing(a neat
trick u should read about). Writing microthreads is as simple as
defining a bunch of functions and calling them at the same time with a special
call- they are executed in parralel within the same thread and each requires
almost no overhead above what they would if executed in serial. EVE (a
commercial mmorpg) also plans to use stackless as the basis for their game
mechanics. I dont have any benchmarks on its network performance or
scalability, but I plan to test it soon.
Michael Warnock
In-Orbit
Entertainment