機能ノードの lightweight ポリシー

概要

機能ノードのポリシーは、ノードの実行スケジュールに関連するオーバーヘッドを軽減するのに役立ちます。このポリシーは、慎重に評価した後に、ノード単位でのみ適用されるべきです。

ヘッダー

        #define TBB_PREVIEW_FLOW_GRAPH_LIGHTWEIGHT 1
        #include "tbb/flow_graph.h"

説明

lightweight ポリシーは、ノードのボディーに含まれる作業量が小さく、可能であれば、タスク・スケジュールのオーバーヘッドなしで実行されるべきであることを示します。source_node を除く、すべてのフローグラフの機能ノードは、Policy テンプレート引数に設定可能な値として lightweight ポリシーをサポートしています。lightweight ポリシーを使用するには、ノードの Policy テンプレート引数に queueing_lightweightrejecting_lightweight、または lightweight を指定します。Policylightweight を指定すると、ノードは queueing バッファーポリシーになります。

注意

シリアル実行セマンティクスの function_nodelightweight ポリシーを使用すると、ノードのサクセサーにメッセージを渡す順序が変わります。メッセージを渡す順序が重要な場合は、lightweight ポリシーのノードの後に sequencer_node を使用すべきです。

注意

lightweight ポリシーのノードに複数のサクセサーがあると、グラフで利用可能な並列性が大幅に低下します。

関連情報