On 3/24/2011 11:00 AM, Michel Fortin wrote:


What it adds is a task pool, where you have a fixed number of threads
for an unlimited number of tasks. Spawning 10,000 threads because you
have 10,000 parallelizable tasks generally isn't a good idea.

That said, perhaps std.concurrency's "spawn" should have the ability to
create tasks instead of always creating new threads...

This is a great **long-term** todo. Please file an enhancement request in Bugzilla w.r.t. std.concurrency pooling threads so it doesn't get lost. TaskPool would probably be a good back end for this, but IMHO any use of TaskPool by std.concurrency should be regarded as an implementation detail.

On the other hand, this kind of inter-module cooperation requires lots of discussion about how it should be designed. It is also well beyond the scope of what std.parallelism was designed to do. This will take a long time to design and implement, have ripple effects into std.concurrency, etc. I don't think it needs to be implemented **now** or should hold up the vote and inclusion of std.parallelism in Phobos.

Reply via email to