1

非常に遅い (10 秒のアプリケーションを 60 秒のアプリケーションに変える) コードがあることを発見しました。「アプリケーションをランダムに一時停止して、それがどこにあるかを確認する」というトリックを使用して、遅いコードを見つけました。スロー コードは、ライセンス サーバーで有効なライセンスをチェックするサード パーティのライセンス関数呼び出しにあります。

Intel の VTune アンプを使用してプロファイリングを試みたところ、この遅い関数呼び出しは非常に時間がかかっているようには見えません。理由はわかりませんが、関数呼び出しは、ライセンス サーバーの応答などを待機している間はスリープする必要があり、VTune をだましてボトルネックとして識別させないようにする必要があると思います。このような呼び出しを VTune に識別させる方法はありますか?

4

1 に答える 1

2

Basic Hotspotsプロファイリングモードの代わりにLocks and Waitsプロファイリング モードを使用することで、それを表示することができました。Locks and Waitsを使用すると、この関数が最も多くブロックされている呼び出しの 1 つであることがわかり、その呼び出しをアプリケーション コードに戻して、どのように呼び出されているかを確認できます。select

于 2015-02-19T00:39:42.763 に答える