I believe the current std.parallelism default threadpool count is number of cpus-1, according to some documentation. When I was testing some concurrent vs threadpool parallel implementations I was seeing improvements on the concurrent operation up to about 14 threads. I didn't try to figure out how to change the threadpool.

While reading this article I noticed someone who reported similar improvements up to 14 threads on memory related operations, and explained it by the number of memory controllers being the limiting issue. See his item number 4 where significant gains were made in memory processing up to 14 threads.

So, I wonder if it wouldn't be good to have a couple of different built-in threadpool types ... one meant for memory operations, and one primarily for cpu crunching ... with different sizes.

http://stackoverflow.com/questions/4260602/how-to-increase-performance-of-memcpy

Reply via email to