問題タブ [verysleepy]
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.
c++ - 「Very Sleepy」プロファイラーを使用して DLL をプロファイリングする
プロファイリングしたい DLL があります.. Very Sleepyを使用しようとしましたが、関数がどのソース ファイルから来たのかをソース ファイルの列に表示できないようです.表示されるのはすべて「不明」です.. とにかく、このアプリの使い方に本当に困惑しています。誰か助けを教えてもらえますか? それに関するドキュメントはあまりなく、最近メンテナンスされていないようです.. =/
ありがとう..
編集:別の質問を追加:
このアプリで排他的および包括的という用語は何を意味しますか? ありがとう..
c++ - プロファイリング中に C++ が ntdll でパフォーマンスの問題を発見 - どうすればそれを取り除くことができますか?
少し剛体シミュレーションに取り組んでいます。表示には Irrlicht エンジンを使用し、メッシュの操作には openMesh を使用します。
ここで、VerySleepy を使用してアプリのプロファイリングを行ったところ、ほとんどの時間が次の関数で費やされていることに気付きました (サブ関数で費やされた時間は除きます)。
RtlCompareMemoryUlong モジュール「ntdll」ソースファイル内の 30%「不明」
モジュール「ntdll」ソースファイル「不明」内の KiFastSystemCallRet 21%
モジュール「ntdll」ソースファイル内のRtlFillMemoryUlong 9%「不明」
そのため、時間の 50% はこれらの関数に費やされており、コードのどこかからそれらを呼び出すことはなく、それらが何をしているのか理解できません。非常に単純なメッシュしか表示していないため、グラフィックに関連しているとは思えません。
これらの関数が呼び出される理由とそれを取り除く方法を理解する方法について、誰かがヒントを教えてくれますか?
ありがとう!
c++ - RtlpNtMakeTemporaryKey - VerySleepy は、これに多くの時間がかかることを示します
私は自分の計算集約型コードのプロファイリングを行っていますが、関数RtlpNtMakeTemporaryKey
が膨大な時間を費やしていることに驚きました。モジュールはntdll
で、ソースファイルはUnknown
です。これは、遅い関数が終了するのを待っている呼び出しですか、それとも最適化できるものですか?
c++ - C++ プロファイリング: KiFastSystemCallRet
Very Sleepy を使用してプロファイリングを行ったときに、これが最高評価の項目であることを確認して検索したところ、「これはシステム関数です。無視してください」という答えが返ってきたようです。しかし、関数に対する Sleepy のヒントは次のように述べています。
ヒント: KiFastSystemCallRet は、多くの場合、スレッドが他の何かが終了するのを待っていたことを意味します。考えられる原因は、ディスク I/O、イベントの待機、または単に Sleep() の呼び出しである可能性があります。
現在、私のアプリは CPU を完全にスラッシングしているため、少し奇妙なことに、時間の 33% が何かが起こるのを待つことに費やされています。
私は本当にそれを無視しますか?
編集: どうやら、これへの呼び出しの 77% は、モジュール nvd3dnum にある QueryOglResource (?) から来ています。それはnvidia Direct3Dのもの、つまりレンダリングかもしれないと思います。
profiling - 非常に眠いプロファイラー-exe関数に関する情報のためにPDBファイルを取得していませんか?
VisualStudioがインストールされていないマシンのWindowsサービス.exeでVerySleepyを使用しようとしています。xcopyを使用して.exe.mapおよび.pdbファイルをコピーしました。これらのファイルはすべて、サービスが実行される場所と同じフォルダーにあります。
しかし、Very sleepyでアタッチすると、.exeに関連するすべての関数に名前はなく、アドレスのみが含まれます。
私は何を逃していますか?
BR Niladri Bose
testing - 非常に眠そうなプロファイラーのチュートリアルはありますか?
C で「Hello world」を 1000 回出力する単純なプログラムを作成しました。非常にスリープ状態のプロファイラーをテストしたいのですが、プロセス間で実行中のプログラムが表示されません。Visual Studio 2010 のデバッグ モードでアプリケーションを実行します。
c - なぜ私たちのソフトウェアは、仮想化下でこれほど遅くなるのでしょうか?
仮想化下で実行すると、ソフトウェアの実行速度が非常に遅くなる理由を理解しようとしています。私が見たほとんどの統計では、最悪の場合でも 10% のパフォーマンス ペナルティしかないはずですが、Windows 仮想サーバーでは、パフォーマンス ペナルティは 100 ~ 400% になる可能性があります。違いをプロファイリングしようとしましたが、プロファイルの結果はあまり意味がありません。仮想化なしの Vista 32 ビット ボックスでプロファイリングすると、次のようになります。
仮想化された Windows 2008 64 ビット サーバーでの実行例を次に示します。
遅いものは非常に多くの時間をRtlInitializeExceptionChain
費やしており、速いものでは 0.0 秒と表示されます。それが何をするのか分かりますか?また、マシンのプロセスにアタッチするとスレッドは 1 つしかありませんPulseEvent
が、サーバーに接続すると 2 つのスレッドがありGetDurationFormatEx
、RtlInitializeExceptionChain
. 私が知る限り、私たちが書いたコードは 1 つのスレッドしか使用していません。また、これは純粋な C で書かれたコンソールのみのアプリケーションであり、UI はまったくありません。
誰かが私のためにこれについて何か光を当てることができますか? これらntdll
とkernel32
呼び出しのいくつかが何をしているのかについての情報だけでも? また、どの程度の違いが 64/32 ビットに関連しており、どれだけが仮想/非仮想に関連しているのかもわかりません。残念ながら、違いを判断するための他の構成に簡単にアクセスすることはできません。
c++ - Very Sleepy はどのようにシンボル ファイルを見つけますか?
Very Sleepy プロファイラーがどのように PDB ファイルを見つけるのか、誰かわかったことがありますか? _NT_SYMBOL_PATH 環境変数を使用していないようです.PDB を実行可能ファイルおよび DLL と同じディレクトリに配置することで成功しましたが、大量の DLL を使用するプログラムをプロファイリングしようとしていますが、本当に痛い。シンボルサーバーを指すようにする方法はありませんか?
c++ - 非常に眠いプロファイリングの許可/権利は何ですか?
管理者権限を付与せずに、ユーザーがVerySleepyを使用できるようにしたいと思います。
管理者の権限がなくても、Very Sleepyを起動してから、ソフトウェアを使用してアプリケーションを起動し、プロファイルを作成できます。しかし、彼はそれらのプロファイリングを開始するためのアクティブなプロセスを見ることができません。
あなたは解決策を知っていますか?
PS:特に、ソースでは、Very Sleepyはwindows.h、process.h、winnt.hを使用します
c++ - 非常に眠いプロファイラーで中括弧の近くに表示される時間測定値は何を表していますか?
私はVerySleepyを使用していくつかのC++コードをプロファイリングしていますが、ソースビューでは、赤い行ごとの時間の測定値が表示され、メソッドが開いているか、メソッドが開いているだけの行に常に測定値があることに気付きました。中括弧を閉じます。場合によっては、関数内の他のコード行と比較してかなり高い値になります。
私の最初の仮定は、メソッドパラメータを開始中括弧のためにスタックにプッシュするのに費やされた時間と、終了中括弧のためにスタックをポップするために費やされた時間を示しています。これは本当ですか?