並列ループ構造では、スケジュールするワークのすべてのチャンクでオーバーヘッドが発生します。バージョン 2.2 から、インテル® TBB は、ロード・バランシングの必要性に応じて、チャンクサイズを自動的に選択するようになりました。[1]ヒューリスティックは、ロード・バランシングのための十分な機会を提供しながら、オーバーヘッドを抑制します。
一般に、parallel_for を使用するメリットがあるのは、少なくとも 100 万クロックサイクルのループを処理する場合です。例えば、2GHz のプロセッサーで 500 ミリ秒のループを処理する場合、parallel_for を使用するメリットがあるでしょう。
通常は、デフォルトの自動チャンクを推奨します。ただし、ほとんどのヒューリスティックでは、チャンクサイズをより正確に制御することでパフォーマンスが向上します。
[1] インテル® TBB 2.1 では、デフォルトは自動ではありませんでした。以前のデフォルトの動作にするには、TBB_DEPRECATED=1 を指定してコンパイルします。