I've taken care of all of the issues Andrei mentioned a while back with regard to std.parallelism. I've moved the repository to Github (https://github.com/dsimcha/std.parallelism/wiki), updated/improved the documentation (http://cis.jhu.edu/~dsimcha/d/phobos/std_parallelism.html), cleaned up a couple miscellaneous minor issues, added a LazyMap object for pipelining, and added a benchmarks folder (in the Github source tree) with at least one benchmark for each of the parallelism types (parallel foreach, map, reduce, task-based, pipelining). This is an official request for review of this module for inclusion in Phobos.

I didn't include any benchmark results on the wiki yet, because so far I've only had a chance to run them on a dual core I have at home. They're also admittedly slightly tuned to my hardware, so the results would be biased, but all seem to provide at least close to linear speedups. Others may feel free to post their benchmark results to the wiki.

One last note: Due to Bug 5612 (http://d.puremagic.com/issues/show_bug.cgi?id=5612), the benchmarks don't work on 64-bit because core.cpuid won't realize that your CPU is multicore. There are two ways around this. One is to use 32-bit mode. The other is to change the benchmark files to manually set the number of cores by setting the defaultPoolThreads property.

Reply via email to