3

私の Nim プロジェクトの 1 つで、パフォーマンスの問題が発生しています。私は今、nimprof何が起こっているのかを見るために使用しようとしています。import nimprofメインのソース ファイルに があり、--profiler:on. プログラムを実行すると、次のメッセージが表示されます。

writing profile_results.txt...
... done

ただし、profile_results.txtこれのみが含まれます:

total executions of each stack trace:
Entry: 1/1 Calls: 2741/2741 = 1.0e+02% [sum: 2741; 2741/2741 = 1.0e+02%]

実行時間は約 1 分だったので、何かをサンプリングするのに十分な時間ではないと思います。からもっと意味のあるものを得る方法はありますnimprofか?

4

2 に答える 2

2

1.0e+02% は 100% と言う愚かな方法です。多くのスタック サンプルが必要であり、それらはすべて同じであったと書かれていますが、これは驚くべきことではありません。

必要なのは、実際にサンプルを見ていただくことです。上の行の下に表示されるはずです。問題が何であるかを示します。

余談ですが、行番号と関数名を表示する必要があり、スタックを頻度でソートするだけではいけません。その理由は、スタックが異なる場合でも、スタックの大部分に問題のあるコード行が簡単に存在する可能性があるためです。そのため、スタックがソートされている場合、その行は集約されません。

于 2015-07-25T13:08:13.527 に答える