< 目次

同時実行性の低い時間領域とその原因を特定

  1. トレースコレクターを実行します。

  2. [Execution Trace Views] タブで、ノードの同時実行分布図を調査します。赤い色の領域は同時実行性が低いことを示します。


    ノード並行性の分布図
  3. 赤い色の領域にズームして、高い解像度でデータを検証し、同時実行性が時間経過でどのように変化しているか理解します。


    詳細についてはノードの同時実行性分布図を拡大します
  4. 並行性が低いグラフの場所を選択して関連するノードをハイライト表示します。ハイライト表示されたノードにマウスをホバーしてノード名を確認します。

解析ツールにはビルトインのシンボル解決機能がないため、ノードで実行される C++ クラス本体はアプリケーションで明示的にエンコードする必要があります。明示的なエンコードは、[Node Properties] タブの [Name] フィールドや [object_name] フィールドに影響します。例:

  tbb::flow::graph g;
  ...
  tbb::flow::source_node<int> s_node (g, source_node_body(),                   
  false);
  #if TBB_PREVIEW_FLOW_GRAPH_TRACE
  s_node.set_name("My Source Node");
  #endif

これにより、トレース収集中に指定する文字列によるノードの注釈が有効になり、ノードにマウスをホバーすると注釈が表示されます。

set_name 関数は、TBB_PREVIEW_FLOW_GRAPH_TRACE マクロがコンパイル時に定義されている場合にのみ利用できます。