プログラムにおけるデータフローが効率低下の原因となることがあります。
最もおおまかなレベルで言えば、データがきちんと管理できていないと過剰のデータページフォルトが発生する恐れがあります。データページフォルトは、データフォルト時間メトリックを調査することで特定できます。ページフォルトは、大量のデータを読み込んだり、データ空間のあちこちに散在するメモリー位置にアクセスしたりすると発生します。プログラムはデータを少なくとも 1 回は読み込まなければならないため、回避できないページフォルトもあります。その他のページフォルトは、データ管理を慎重に行うことで回避することが可能です。
要求されたデータ項目がマップされていない場合、別の種類の遅延が出たフローに発生します。 この遅延は、DTLB (Data Translation Lookaside Buffer) ミスを引き起こします。 データページフォルトの場合、最初のミスはデータ項目をアクセスするために必要ですが、その他のミスは回避できる可能性があります。UltraSPARCTM III Cu ハードウェアでは DTLB ハードウェアカウンタのデータを記録し (たとえばカウンタ名に別名 dtlb を使用)、対応するメトリックを調べることができます。
プログラムのデータフローは、データキャッシュミスも引き起こす可能性があります。データキャッシュミスが発生する場所と所要時間を特定するには、データキャッシュミスとデータキャッシュストールサイクルのメトリックを調べます。 これらのメトリックを調べるには、ハードウェアカウンタのオーバーフロープロファイルデータを収集する必要があります。 UltraSPARC III プロセッサファミリーでは、データキャッシュ読み取りミス、データ書き込みミス、およびデータキャッシュストールサイクルを数えるハードウェアカウンタのデータを、dcrm、dcwm、および dcstall の別名を使用して記録できます。