これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド hatari_profile です。
プログラム:
NAME
hatari_profile - Hatari プロファイラーデータのポストプロセッサー
SYNOPSIS
hatari_profile.py [オプション]
DESCRIPTION
Hatari プロファイラーの「保存」コマンドによって生成されたデータを後処理する Python スクリプト。
CPU と DSP:
プロフィール保存
dspprofile 保存
あらゆる機能レベル (CPU および DSP) のプロセッサ使用情報を提供できます。
Hatari プロファイラーの記録: 命令数、プロセッサー サイクル、およびプロセッサーによっては、
また、命令キャッシュのミスやサイクルの違い。
この情報は、コールグラフとして、最も重い関数の ASCII リストとして提供できます (
プロファイル データには発信者情報が含まれます)、または callgrind 形式のエクスポートとして
(Linux) Kcachegrind GUI で表示。
OPTIONS
呼び出す はたり_プロフィール 引数なしは、すべてのオプションをリストします。
USAGE 例
プロファイル データに何らかのシンボル情報が含まれているかどうかに関係なく、常に
スクリプトに関連するすべてのデバッグ シンボルを指定します。そうしないと、コストが正しく割り当てられない可能性があります
それらのコストに先行するシンボルに。
EmuTOS(ROM)用のプロファイルデータを後処理し、シンボルファイルに固定/絶対
アドレス (-a)、統計 (-s) および上位リスト (-t) を表示しますが、リスト出力は
2% を超えるもの (-l 2) で、「伝播された」サブルーチン呼び出しコスト (-p) を含むもの:
-------------------------------------------------- -----------
$ hatari_profile.py -a etos512k.sym -st -l 2 -p etos-boot.txt
ハタリプロファイルデータ処理者
etos512k.sym... から絶対シンボル アドレス情報を解析しています...
解析された 1538 のコード シンボル/アドレスを含む 1236 行、0 不明。
etos-boot.txt からプロファイル情報を解析しています...
16993 関数で 465 行を処理。
「etos-boot.txt」からの CPU プロファイル情報:
- Hatari v1.6.2+ (15 年 2013 月 XNUMX 日)、OldUAE CPU コア
プロファイルに費やした時間 = 4.60740 秒。
電話:
- max = 1800、___mulsi3 の 0xe60790、16477 行目
- 合計 16659
実行された命令:
- max = 315254、38xe0fd06 の _timeout_gpip+8、3237 行目
- 合計 3074165
使用サイクル:
- max = 6311628、38xe0fd06 の _timeout_gpip+8、3237 行目
- 合計 36957124
電話:
10.80% 10.88% 1800 ___mulsi3
8.04% 8.16% 1339 _memcpy
5.20% 0.26% 866 _int_timerc
4.61% 768 _call_user_wheel
3.86% 3.86% 643 _分
3.76% 3.82% 627 _sti
3.76% 3.76% 627 _cli
3.30% 3.30% 550 _bcostat4
実行された命令:
61.58% 61.79% 1892940 _timeout_gpip
8.62% 9.33% 264918 _draw_rect
4.96% 4.98% 152582 _run_calibration
4.06% 4.09% 124944 _blank_out
3.22% 99134 メミニット
使用サイクル:
61.58% 62.01% 22759756 _timeout_gpip
5.69% 6.85% 2104464 _draw_rect
4.29% 1586108 メミニット
4.19% 4.22% 1547768 _run_calibration
3.04% 3.07% 1122816 _blank_out
2.88% 2.98% 1065272 _中断するまで停止
-------------------------------------------------- -----------
これにより、GraphViz コールグラフ ファイル (-g) と Kcachegrind callgrind データ ファイル (-k) が作成されます。
Bad Mood (Doom BSP ビューア) プロファイル。 プログラムのシンボルは TEXT セクション相対です
(-r)、プログラム内の一部の割り込みルーチンの呼び出しは、実際のものではないため無視されます
コール、2% 以上を使用するコールグラフ ノードが強調表示され、制限するオプションがいくつかあります
グラフを単純化します。
-------------------------------------------------- -----------
$ hatari_profile.py -r bmsym.sym
-k -g -p --emph-limit 2.0 --limit 0.5
--ignore-to フレームカウンター、new_vbi、stabilizer_b
--compact --no-leafs --no-intermediate
badmood-profile.txt
ハタリプロファイルデータ処理者
bmsym.sym からの TEXT 相対シンボル アドレス情報を解析しています...
解析された 1023 のコード シンボル/アドレスを含む 392 行、0 不明。
badmood-profile.txt からプロファイル情報を解析しています...
1420 関数で 63 行を処理。
framecounter への 29 個のスイッチを無視する
スタビライザー_b への 9 つのスイッチを無視する
new_vbi への 8 つのスイッチを無視する
全 1562 個のスイッチのうち、タイプ ['r'、'u'、'x'] の 56 個が無視されました。
callgrind ファイル 'badmood-profile.cg' を生成しています...
「badmood-profile-0.dot」DOT コールグラフ ファイルを生成しています...
「badmood-profile-1.dot」DOT コールグラフ ファイルを生成しています...
「badmood-profile-2.dot」DOT コールグラフ ファイルを生成しています...
「badmood-profile-3.dot」DOT コールグラフ ファイルを生成しています...
「badmood-profile.txt」からの CPU プロファイル情報:
- Hatari v1.6.2+ (10 年 2013 月 XNUMX 日)、WinUAE CPU コア
-------------------------------------------------- -----------
onworks.net サービスを使用して、hatari_profile をオンラインで使用する