Wed Oct 22 02:27:44 PDT 2008 Simon Marlow <[EMAIL PROTECTED]>
* Refactoring and reorganisation of the scheduler
Change the way we look for work in the scheduler. Previously,
checking to see whether there was anything to do was a
non-side-effecting operation, but this has changed now that we do
work-stealing. This lead to a refactoring of the inner loop of the
scheduler.
Also, lots of cleanup in the new work-stealing code, but no functional
changes.
One new statistic is added to the +RTS -s output:
SPARKS: 1430 (2 converted, 1427 pruned)
lets you know something about the use of `par` in the program.
M ./includes/RtsTypes.h -39 +7
M ./rts/Capability.c -72 +53
M ./rts/Capability.h -6 +37
M ./rts/Schedule.c -92 +139
M ./rts/Sparks.c -67 +58
M ./rts/Sparks.h -31 +46
M ./rts/Stable.c -3
M ./rts/Stats.c +15
View patch online:
http://darcs.haskell.org/ghc/_darcs/patches/20081022092744-12142-9d31b2991ec747e8901a7b28105f6716794f1079.gz
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc