mac os xでのc++のプロファイリング
2023-12-05 20:19:42
質問
私は私の mac (os x Lion) でいくつかの c++ コードをプロファイルしようとしていますが、有用なものを見つけることができませんでした。私は、どの関数が CPU 時間を消費しているかを教えてくれるプロファイラーを探しています (matlab プロファイラーに似ています)。
以下は、私が試したものです。
- gprof。これは私の linux マシンで使用するものですが、私の mac では空の出力を与えるだけです (どうやら既知の問題のようです)
- Instruments。コンパイルされたバイナリ内で何かをプロファイルする方法がどうしてもわかりません。また、有用なチュートリアルのようなものを見つけることもできません。
- (他の検索では、もう利用できない Shark と、メモリ用の Valgrind が見つかりました)。
本当に助かりました!
どのように解決するのですか?
Instrumentsは使用するツールです。Instrumentsの完全な説明はこの回答の範囲外ですが、ここではクイックスタートガイドを紹介します。
- Instruments を開きます。 1
- Time Profiler" テンプレートを選択します。
- ターゲット]ドロップダウン・メニューで、アプリケーションを選択します。 2
- 赤丸のボタン("record")を押して、アプリケーションの実行を開始します。
- 該当する場合、アプリケーションでプロファイルする必要があることを行います。
- 録音ボタンをもう一度押して、録音を停止します。
- インストゥルメントのツールを使って、結果を分析します。
利用可能なツールのうち、最も頻繁に役立つものは次のとおりです。
- 開示矢印を使用したコール ツリーの展開
- 関数名の上にある丸で囲んだ矢印をクリックすると、その関数にフォーカスを当てることができる
- 関数をダブルクリックして、関連するソースを表示する
- 左側にある "Invert Call Tree" チェックボックス。
の呼び出しを開始することもできます。
instruments
をコマンドラインで起動することもできます。
instruments -l 30000 -t Time\ Profiler -p 5773
見る 指示 .
1 Instruments を開く簡単な方法の 1 つは、Spotlight を使用することです。タスク バーの右上隅 (時計の横) にある虫眼鏡をクリックし、「Instruments」と入力するだけです。
2 ターゲットを選択...」をクリックし、実行ファイルのパスを指定します。
関連
-
[解決済み】Macでポート3000をロックしているプロセスを検索(およびkill)する
-
[解決済み] Mac OS Xで、指定したTCPポートでリッスンしているのは誰ですか?
-
[解決済み] Mac OSでNode.jsを最新バージョンにアップグレードする。
-
[解決済み] Mac OS Xでadbをセットアップする
-
[解決済み】Mac OS XでPostgreSQLサーバーを起動するには?
-
[解決済み】Mac OS Xでは、Javaはどこにインストールされていますか?
-
[解決済み] OS Xのコマンドラインからアクティブユーザーの名前を取得するにはどうしたらいいですか?
-
[解決済み] macプロンプトでのスクリプト実行 "Permission denied"
-
[解決済み] OS Xで最適なSchemeやLISPの処理系は?[クローズド]
-
[解決済み] OSXでコマンドラインからAndroidStudioプロジェクトを開く
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Linux上で動作するC++コードのプロファイリングを行うにはどうすればよいですか?
-
[解決済み] gprofの代替品 [終了しました]。
-
[解決済み] macOS Sierraでネットワークリンクコンディショナーが動作しない。
-
[解決済み] OS X上のJenkins: xcodebuildでCode Signエラーが発生する
-
[解決済み] Mac OSでのSSHタイムアウトを回避する?[クローズド]
-
[解決済み] OSXでコマンドラインからGUI Emacsを起動するには?
-
[解決済み] インストールされているが、リンクされていない
-
[解決済み] OS X 10.6.7で22番ポートを開くには?
-
Mac OS Xで大きなファイルを編集する [終了しました]。
-
Macのコアダンプはどこに書いてありますか?