2009-04-26 7 views
-1

パフォーマンスカウンターはありますか?それとも私は本当にそのようになります:
(Jagged Arrays、Arrays、ArrayList)のパフォーマンスをどのように比較できますか?

ギザギザアレイ:2000ミリ秒
アレイ:3000ミリ秒
のArrayList:4000ミリ秒


どのように私は、コード方式の性能結果を得るためにできますか?

+0

いくつかのタイムド・テストを書く。ところで、ぎざぎざ(ジグザグ)ではありません.... –

+0

http://www.azamsharp.com/Posts/211_When_LINQ_is_Slow_Go_Old_School_.aspx 私は実際にこのパフォーマンスカウンタを使用しましたか? – Penguen

+4

お待ちください!私はこれらの頑強な配列についてもっと知りたいです! –

答えて

1

あなたはthis questionで見ることができ、それはいくつかのコードがあり、結果と議論

2

リコマリアーニはあなたの男です。 彼は.netのために最高のパフォーマンス静的なものを作ります。

だから、やり方を始めて、 彼のブログを読んでください。

How to test Array speed

results of these tests

基本的に、何をmesureべきことはアイテムのアクセスです。それらを追加しないでください。

0

異なるストレージ構造のパフォーマンスは、前記構造で実行する必要がある操作によって異なります。

一般的なテストが
ソートされる可能性があります:バブルを、マージ
検索中:(ソートされていないデータを持つ)シーケンシャル、シーケンシャル、バイナリ

これらをテストするための関数を書くには、同量のいくつかの配列を埋める伴うだろうランダムなデータを取得し、テストを実行します。

パフォーマンスの時間ベースのメトリックを生成するのは、一般に、これらのタイプのアルゴリズムでは非常に簡単です。

言語によっては、タイマーを使用して計算する時間、または選択した各繰り返しポイントのタイムスタンプを単純に保存/出力する時間を計測することができます。

あなたがアプリケーションにいくつかのパフォーマンスカウンタを設定し、パフォーマンスを測定することができます
1

正直なところ、プロファイラが必要な場合は、正常に機能していることを伝える必要がある場合は、おそらく気にする必要はありません。したがって、コードを3つの異なる方法でコンパイルするだけです - ギザギザの配列、配列リスト、および配列の古典それらのうちのどれかが一貫して[仕事X]を顕著に速く走らせるなら、あなたはそれを持っています。あなたが改善を直接感じることができない場合は、おそらくあなたの最も貴重なリソースを浪費しているにすぎません:開発者の時間。

0

0
01 012 
012 01 

と2つのコンストラクタを次のように2ギザギザの配列を含むクラスを作成します。

create_matrix方法以下のように2つの継承されたギザギザのアレイからのマトリックスを作成します:

0 0 1 2 3 
0 1 0 1 2 
0 1 2 0 1 
0 1 2 3 0 

表示方法を次に二次元アレイ及び2つの方法が含まギザギザクラスを継承するクラスを作成しますは、2つのギザギザの配列と結果の行列を表示します。

+0

私の編集内容を確認してください。 – Will

関連する問題