[Haskell-cafe] Re: Python's big challenges,
Haskell's big advantages?
Brandon S. Allbery KF8NH
allbery at ece.cmu.edu
Wed Sep 17 16:50:20 EDT 2008
On 2008 Sep 17, at 16:44, Evan Laforge wrote:
>>> The fast context switching part seems orthogonal to me. Why is it
> that getting the OS involved for context switches kills the
> performance? Is it that the ghc RTS can switch faster because it
> knows more about the code it's running (i.e. the OS obviously couldn't
> switch on memory allocations like that)? Or is jumping up to kernel
> space somehow expensive by nature? And why does the OS need so many
A context switch involving the OS is actually a double (at least)
context switch: one to switch to kernel context, another to switch
back to user context, and (because kernel context switches are
scheduler entry points) optionally switches to other processes which
have a higher immediate priority. These context switches also switch
considerably more state than a user-mode context switch between green
threads, which doesn't switch the full process context including the
set of process page tables, processor access controls, etc.
--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery at kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon university KF8NH
More information about the Haskell-Cafe
mailing list