問題タブ [shark]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2290 参照

iphone - Xcodeで「実行>パフォーマンスツールで実行>Shark」が常に灰色になるのはなぜですか?それをどのように呼ぶのですか?

私の実行メニューにこのSharkエントリがあります。しかし、それは常に非アクティブです。どうしたの?SnowLeopardを使用した新しいxcode。CHUDを含むすべての開発ツールを最初からインストールしました。Shark自体は実行されますが、xcodeが実行しても、デバイスは表示されません。デバイス上でビルドおよび実行されます。問題ない。

0 投票する
1 に答える
126 参照

iphone - Shark が iPod touch をデバイス リストに表示しないのはなぜですか?

この回答で、Brian は Shark をデバイスに接続する方法を説明しました。私はまさにこのようにしていますが、Shark は私のデバイスを決してリストしません。Xcode がその上でアプリを起動し、アプリが実行されたとしても。コンソールログとすべてを取得します。マックと通信します。しかし、シャークはそれを見ません。何が原因でしょうか? ユキヒョウ、ところで...

0 投票する
1 に答える
416 参照

iphone - Shark はこのアドレス範囲のシンボル情報を見つけることができませんでした - iPhone

Shark を使用して、iPhone アプリで最も時間がかかっているメソッドを特定しようとしています。サンプリング後、次のようになります: 代替テキスト http://img69.imageshack.us/img69/7871/screenshot20091117at503.png

「!」ボタンの結果:

Shark は、このアドレス範囲のシンボル情報を見つけることができませんでした。通常、これは、アプリケーションがシンボルなしでコンパイルされたか、シンボルが削除されたために発生します。Xcode で、[Generate Debug Symbols] チェックボックスが選択されていることを確認します (-g フラグをコンパイラに渡します)。これはコードの最適化には影響せず、通常はパフォーマンスを大幅に変更しないことに注意してください。ただし、余分なシンボル情報はかなり多くのスペースを消費し、実行可能ファイルのサイズが肥大化する可能性があります。

しかし、私はデバッグ オプションを使用しており、自分のデバイスで実行しています。そしてGenerate Debug Symbolsはチェックされています。では、何が問題なのですか?

0 投票する
2 に答える
235 参照

shark - なぜサメはそんなに遅いのでしょうか?

Rubyインタープリターのプロファイルを作成しようとしています。私が実行するshark -i ./ruby bm_sudoku.rbか、そのようなものを実行すると、スクリプトは1秒以内に終了し、Sharkは「CHUDData-サンプルの分析... 99.3%..」ポイントに移動し、10分ほど凍結したままになります。それは最終的に終了します、それは非常に途方もなく遅いので、ほとんど使用できません。

私がここに持っているバージョンはOSX10.5、shark 4.6.1(227)です。

それが何であるかについて何か考えはありますか?

0 投票する
5 に答える
5377 参照

optimization - Apple の PowerPC memcpy が高速な理由は何ですか?

PowerPC での優れたメモリ戦略を求めて、いくつかのコピー関数を作成しました。Altivec または fp レジスタをキャッシュ ヒント (dcb*) と共に使用すると、大きなデータの単純なバイト コピー ループよりもパフォーマンスが 2 倍になります。最初はそれに満足していたので、通常の memcpy を投入して比較してみました...私のベストよりも 10 倍高速です! memcpy を書き直すつもりはありませんが、memcpy から学び、ほとんどの時間をメモリとの間でピクセルを移動するのに費やすいくつかの単純な画像フィルタを高速化したいと考えています。

サメの分析では、内部ループが dcbt を使用してプリフェッチし、4 つのベクトル読み取りと 4 つのベクトル書き込みを行っていることが明らかになりました。反復ごとに 64 バイトを運ぶように私の最高の関数を微調整した後でも、memcpy のパフォーマンス上の利点は依然として恥ずかしいものです。私は dcbz を使用して帯域幅を解放しています。Apple は何も使用していませんが、どちらのコードもストアで躊躇する傾向があります。

非常によく似たコードに劇的なパフォーマンスのギャップがある理由について、誰か考えがありますか? memcpy が使用している秘密のソースに実画像フィルターをマリネしたいです!

追加情報: すべてのデータはベクトルで整列されています。元の画像を置き換えるのではなく、画像のフィルター処理されたコピーを作成しています。コードは PowerPC G4、G5、および Cell PPU で実行されます。Cell SPU版はすでにめちゃくちゃ速いです。

0 投票する
1 に答える
413 参照

iphone - サメはソースコードを表示しません

iphone アプリケーションでサメを実行しようとしています。ただし、分析されたサンプルでは、​​アプリケーション機能がリストされていません。リストされているのはライブラリだけであり、それらのいずれかをクリックすると、アセンブリ コードが表示されます。ほとんどのサイトでは、アプリのビルド時に「デバッグ シンボルの生成」オプションについて言及されています。このオプションも見つかりません。代わりに、「プロファイリング情報の生成」オプションを有効にしました。分析された Shark のサンプルで、アプリケーションの機能とソース コードを確認する方法を教えてください。

0 投票する
2 に答える
1085 参照

linux - Linux で Apple の Shark のようなものはありますか?

Linux でApple のSharkに代わるものを探しています。gprof ではなく、統計プロファイラーを探しています。oprofile については知っていますが、もう少し洗練されたものが欲しいです。Shark と比較して長所/短所がある提案をいただければ幸いです。

0 投票する
1 に答える
133 参照

performance - プロセッサ帯域幅トレースで Shark がクラッシュする

「プロセッサ帯域幅 (コア 2)」解析モードを使用すると、Shark がクラッシュし始めました。サンプルを収集し、時間をかけて分析し、ウィンドウがいつ表示されるかについてバス エラーでクラッシュします。

最初は、メモリ不足で実行している可能性があると思いました。最新のシステム アップデートをインストールし、再起動して、再試行しました。変わりはない。最新のXCodeをインストールしましたが、違いはありません。CHUD リムーバーを使用し、Shark を再インストールし、再起動しましたが、違いはありませんでした。シンボルありとシンボルなしでビルドしてみました。

他のすべての分析は機能します。私はサードパーティの KEXT を持っていませんが、これまで問題が発生したことはありません。

他の誰かがこれを見たことがありますか?このようなことを質問できる別のフォーラムはありますか? (Apple の開発者フォーラムでは、年間 500 ドルのサポート パッケージが必要です!) Shark の冗長モードはありますか? コマンドライン オプションを介して実行できますか?

0 投票する
1 に答える
3096 参照

macos - MacOSX で g++ アプリをプロファイリングしていますか?

アプリをプロファイリングする私の標準的な Linux の方法は次のとおりです。

どうやら MacOSX 10.5 では gprof が壊れているようで、Shark を使用することになっています。私が Shark で見つけたすべてのチュートリアルには XCode が含まれています (私のビルドは Makefiels と g++ で行われています)。

g++ で構築されたアプリでサメを使用するためのステップバイステップの手順を投稿できますか? 次のように言います。

0 投票する
1 に答える
40 参照

performance - 一連の Shark パフォーマンス ログに対して一連のクエリを実行しますか?

私は Shark を使用して (非常に大規模な) アプリケーションのベンチマークを行っており、毎回ドリルダウンする一連の機能を持っています (たとえば、1 つの機能に焦点を当て、特定の他の機能とのスタックを削除して、その実行での特定の機能のミリ秒を決定します)。 )。ここまでは順調ですね。

一連のサメ セッション ファイルを取り込み、各ファイルに対してこれらのクエリの結果を出力するスクリプトを書きたいと思います。プログラムでサメと対話する方法、またはセッション ログ形式を理解する方法はありますか?

ありがとう!