
On Thu, Dec 29, 2005 at 10:36:37PM +0100, Tomasz Zielonka wrote:
On Thu, Dec 29, 2005 at 03:34:10PM -0500, Cale Gibbard wrote:
The issue with it taking too long seems to basically be as Joel said, only one of the threads can take that MVar at a time. Even if the time that it's taken is fairly short, if one is running faster than the others, it tries to take the MVar more often, which means that it runs a higher risk of being blocked and slowed down, letting other threads take its place. It essentially just forces the scheduler to be more fair.
I get results that confirm scheduler unfairness.
I am taking it back. It seems that these results were caused by threads starting at different moments. I made every thread wail till all threads are created, and now I can't reproduce it anymore. Best regards Tomasz -- I am searching for a programmer who is good at least in some of [Haskell, ML, C++, Linux, FreeBSD, math] for work in Warsaw, Poland