SMPスケジューラ

手元にSMPマシンが無いのでWorkPool版のbzip2の速度が試せないのだが、もしこちらの方が速いとすると、スケジューラのせいかも知れない。色々ググっていると、少なくともLinuxではプロセッサ間の負荷分散は200msごとに行われるそうな(IBM Developer 日本語版 : 大変申し訳ありません。このページは無効です。)。だとすると、forkしてから他のプロセッサで実行されるまで平均100msかかることになるので、これはかなりのペナルティになりうる。
まじめに対応するのなら、CPU affinityの機能か何かを使う必要があるかも知れないが(これはこれで筋が悪そうだが)、まずはWorkPool版の性能測定が先かな。