昨日の測定結果

は間違いでした。orz
というか、正確には測定条件をそろえていなかった。WorkPool版の方のキューサイズが従来版の倍になっていました。キューのサイズをそろえると、ちょっと速い程度。逆に従来版でもキューサイズを倍にすると、同じ程度に速くなりました。
マニュアルに載せる評価結果としては、元のキューサイズでやりますが(キューサイズ倍はメモリをとりすぎだろうし)、それだけでこんなに変わるというのも意外。スケジューリングがうまくいかなかったのかなぁ。

ついでに、WorkPool版で性能向上が見られなかった4CPUマシンで、オプション"-1"をつけてブロックサイズを100kbにして評価してみると、逐次版で1.79sec, 従来版で 0.746sec, WorkPool版で 0.573secと性能向上が見られました。

プロセス生成のオーバヘッドを計算してみると、10000回の生成・同期に1秒でしたから、10MB/100kb = 100プロセスで、1 * (100/10000) = 0.01秒。それだけでは説明がつきませんね。やはり、プロセスの移送などのオーバヘッドがもう少しあるのでしょうか。