std.parallelism: Request for Review

dsimcha dsimcha at yahoo.com
Sat Feb 26 13:13:07 PST 2011


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.


More information about the Digitalmars-d mailing list