この質問に答えるには、XCodeTestのパフォーマンステストを理解する必要があります。
- 10回の試運転測定の平均結果
- これらの試験の標準偏差(測定値の広がりを示す):試験は、本質的に、完全なテストの実行中に2つのプロパティに以下を記録します2つの条件のいずれかが満たされていない場合(自動計算)ベースラインが以前のテストの実行から指定され、テストが失敗し
実行:アベラ
- (ベースラインの平均値が設定され、ソースに保存されている)ベースライン平均から10%以上増加してはならない。
- 標準偏差は、指定されたパーセンテージ、たとえば
max_STDDEV%
(平均)を超えてはいけません。値max_STDDEV
はデフォルトで10%に設定されています。byはPerformance Result GUIポップアップで変更することができます。上記の規則から
、我々は(0.5秒)、あなたのテストは、一見失敗した理由は、「あまりにも速い」を実行すると、特定の下限値を渡すことに起因しないときことを実感ではなく、はのを広めること測定値が大きすぎて標準偏差条件2.上記のに失敗します。
この測定値(max_STDDEV
)に許可される最大標準偏差値を大きくすることであろうが、これは単に平均条件に頼るとして危険である償還しようとしないので、良い方法は、テストを可能にする一例えば次のシナリオ(平均はベースライン(1)と同じですが、標準偏差が40%です)。パフォーマンステストの点で
(以下第一の基準からの画像、WWDC 2014のセッション)
、あなたはいくぶん決定論的な性質を持っているの実装とアルゴリズムをテストすることを確認するには、そのような目的でそのパフォーマンスの低下する言語/ APIアップデートや新しいコード実装を検出することができます。あなたのテストシナリオが上記のようなものである場合、慎重に見直して慎重に考えてから、許容される標準偏差を最大に上げることが適切かもしれません。例えば。確率的アルゴリズムの場合、標準偏差を大きくすることができ、平均的な性能によります。例えば、危険性試験。しかし、許容されるstddevが大きい確率的アルゴリズムでは、パフォーマンス損失を捕捉するには十分ではない可能性があるのはわずか10回です。
も参照してください: