2011-01-13 4 views
0

私はプロセスXを実行し、どれくらい時間がかかるかを見てみましょう。 私はこのプロセスを実行した日時とそれにかかる時間をデータベースに保存します。私はDBに何を入れるべきかを知りたい。クイックプロセスの実行時間を測定する場合、使用するランの数はいくつですか?

プロセスXはほとんど常に1500msで実行されるため、これは簡単なプロセスです。通常は500〜1500msの間で実行され、かなりの範囲(3xの差)です。

私の質問は、1回の実行でDBにいくつの "実行"を保存するのですか?

  • すべての実行は、 自身の行としてDBに保存されますか?

  • 5実行し、平均化してから、 時間を保存しますか?

  • 10平均実行回数は?

  • 20実行すると、2つ以上の値を除外して 標準偏差を除き、その範囲内のすべてを保存しますか? ?

誰でもこの情報をバックアップしていますか?

答えて

0

必要なデータの種類によって異なります。私は最初に1本のラインを走り、次にデータを分析し、そこから行くと思います。たぶんあなたがそれを統合したい場合は、Xの実行の最小/最大/平均を格納する。

+0

どのような種類のデータですか?私は正確な種類が欲しい。 – asdasd

+0

次に、すべての発生をログに記録し、精度を維持するために平均化することを避けることをお勧めします。 – bigredbob

2

実行ごとにデータを独自の行に保存します。その後、あなたは好きなようにデータを使用して分析することができます。つまり、あなたがリストした他のすべてのオプションは、事実の後に実行することができます。何が起こっているのかをもっと知らなくても、データを平均化/分析する方法について、他の誰かが有意義な結論を導くことは実際には不可能です。

0

http://en.wikipedia.org/wiki/Sample_size

ブライアンは正しいです - あなたはより多くを調査する必要があります。あなたのコードがあまりにも多くの分散を持っている場合は、他のプロセス、ページングまたはその他の要因のために、テスト環境が大きく変動する可能性があります。そうでない場合は、コードのパスが多種多様な仕事をしているように見えますし、そのようなマルチモーダルシステムのパフォーマンスを記述する単一の数値/実行データを思いついているのはあなたにはあまり言いません。だから私はできるだけあなたの設定を隔離し、少なくとも30試練を実行し、あなたのパフォーマンスカーブのように感じる得るように言うと思います。そのウィキペディアページを使用して、コードごとに実行する必要のある試行回数を示す数字を思いつくことができます。あるレベルの統計的有意性を伴ってパフォーマンスが増減したかどうかを確認します。

0

「すべての実行を保存」と言っているのはうれしいことですが、あなたのケースでは実際的ではないかもしれません。しかし、私は、平均値だけを保存するとあまりにも多くのデータが削除されると思います。私は平均10回のランを保存するのが好きですが、平均値だけを保存するのではなく、最大値と最小値も保存するので、その中心にデータの広がりを感じることができます。

特に、最大と最小の情報はコーナーケースの発生頻度を示します。 1500msのケースは1000の外れ値ですか?それとも、定期的に繰り返されるものですか?

1

最も速く実行されるのは、最も正確に自分のコードだけを実行するものです。

オペレーティングシステムスケジューラで発生するノイズのため、実行速度が低下します。

発生する分散はマシンごとに異なります。同一のマシンであっても、実行可能なプロセスによってノイズが発生します。

1

上記のいずれも該当しません。ふすまは近くにあります。すべての測定を保存する必要があります。しかし平均化しないでください。このタイプの分析では、平均(算術平均)が誤解を招く可能性があります。その理由は、測定値の一部が他の測定値よりもずっと長くなるためです。これは、たとえ「クリーンな」テストシステムであっても、プロセスがプロセスに干渉する可能性があるために発生します。プロセスが決定的なものではない可能性もあります。

単純にサンプル数を増やし(測定回数を増やす)、測定値を平均化するだけで、より良いデータが得られると考える人もいます。それはしません。あなたが走るほど、あなたは混乱のイベントに遭遇する可能性が高くなり、平均を過度に高くします。

これを行うより良い方法は、できるだけ多くの測定を実行することです(時間が許せば)。 100は悪い数字ではありませんが、30-ishで十分です。

次に、のサイズをで並べ替えてグラフ化します。これは標準的な配布ではないことに注意してください。計算では、平均、中央値、最小値、最大値、より低いクアテイル、上位の4分位数の単純な統計を計算します。

いくつかの指針とは逆に、痛みや外れ値の外には投げ込まないでください。これらはしばしば最も絡み合いのある測定値です。たとえば、素敵なベースラインを確立し、出発点を探すことができます。これらの逸脱を理解することは、プロセスの仕組み、sytsemがプロセスにどのように納得するか、プロセスに干渉する可能性があることを完全に理解するのに役立ちます。多くの場合、バグを容易に公開することがあります。

関連する問題