6 gprofngおよびスレッド・アプリケーションの操作

マルチスレッド・アプリケーションのパフォーマンス・データを収集します。

デフォルトでは、マルチスレッド・アプリケーションのパフォーマンス・データは、すべてのスレッドについて集計されます。個々のスレッドまたはスレッドのセットのデータが必要な場合は、フィルタを使用してその情報を分析できます。

パフォーマンス・データが取得されたすべてのスレッドをリストするには、-thread_listおよび-threadsオプションを使用します:

gprofng display text -thread_list -threads experiment-directory-name.er 
Exp Sel Total
=== === =====
  1 all     3
Objects sorted by metric: Exclusive Total CPU Time

Excl. Total    Name
CPU
 sec.      %
5.775 100.00   <Total>
2.773  48.01   Process 1, Thread 3
2.722  47.13   Process 1, Thread 2
0.280   4.85   Process 1, Thread 1

出力例では、その実験中に3つのスレッドのCPU時間が使用されたことがわかります。スレッド番号は、特定のスレッドまたはスレッドのグループの両方の情報を確認するために使用できます。

特定のスレッドのパフォーマンス・データを確認するには、-thread_selectオプションをスレッド番号とともに使用します:

gprofng display text -limit 5 -thread_select 1 -functions experiment-directory-name.er 
Print limit set to 5
Exp Sel Total
=== === =====
  1 1       3
Functions sorted by metric: Exclusive Total CPU Time

Excl. Total   Incl. Total    Name
CPU           CPU
 sec.      %   sec.      %
0.280 100.00  0.280 100.00   <Total>
0.126  44.84  0.267  95.37   init_data
0.068  24.20  0.104  37.01   erand48_r
0.038  13.52  0.142  50.53   drand48
0.036  12.81  0.036  12.81   __drand48_iterate