Jim Arnold wrote: > I'll take your word for it. Actually, no I won't :-) Why *would* fibers be > any more scalable/available than threads? I don't see how splitting an > already interruptible thread into yet more mini-threads would give you > anything but more interruptions.
Primarily because you can control the scheduling of your own work items around completion. The server versions of the OS attempt to "help" you in this regard by giving you a very large quanta (about 10x as large as the workstation OSes, IIRC), but that's still no good if you're just a few milliseconds from fulfilling a request, only to be cut off by the OS. In server scalability, it's about how quickly you can process a given request, not necessarily how many of them you can run in parallel. Seems I remember that the SQL Server engine started using fibers (in v7 as I recall) and got a huge boost from it. I'll have to see if I can dig that info up again... Brad -- Read my web log at http://www.quality.nu/dotnetguy/ You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.