0

Mac でのサメのプロファイリングについて質問があります。

次のようにコンパイルされた C プログラムがあるとします。

gcc -o mycprog mycprog.c -g -pg

また、次のようなシェルスクリプトがあります。

for file in ($SomeDirectory)
do
    mycprog $file
done

$SomeDirectory 内のすべてのファイルの平均パフォーマンスをプロファイリングする必要があります。

shark -iコマンドはどこに置くべきですか?ありがとう。

4

1 に答える 1

0

さまざまな理由から、これは優れたアプローチではありません。理想的には、プログラムの外側のループを変更して、コマンド ラインですべてのファイルを処理できるようにする必要があります。そうすれば、すべてを 1 回の実行で実行できます。

$ shark -i
$ mycprog $SomeDirectory/*

それができない場合は、システム全体のプロファイリング用に Shark 構成を設定し、bash ループの前にプロファイリングを開始し、その後プロファイリングを停止する必要があります。その後、Shark でプロファイルを表示すると、関心のないプロセスを除外できます。

まず、Shark (GUI アプリ) を開き、構成をセットアップして、リモート コントロールを有効にします ( Sampling=> Programmatic)。Time Profile選択したことを確認してくださいEverything

次に、コマンドラインから:

$ chudRemoteCtrl -s "mycprog"
$ sleep 1
$ for f in $SomeDirectory/*
$ do
$     mycprog $SomeDirectory/$f
$ done
$ chudRemoteCtrl -e
于 2010-03-25T06:58:46.207 に答える