フラッシュ内の2Dアレイへのクイックアクセス

タスクは単純で典型的です。 大きな2次元配列があります。 そして、私たちは彼と最も効果的に働きたいです。 私の場合、数値(バイト)の配列に興味がありました。

さて...頭に浮かぶ最も簡単なことは、型の標準の2次元配列を使用し、[x] [y]の方法で要素にアクセスすることです。 しかし、それはどれほど効果的ですか? おそらく、1次元配列で操作し、要素を[x + y * size_x]として参照する方が高速でしょうか?

すべてのiにドットを付けるために、配列のさまざまなオプションの読み取りおよび書き込みの速度をチェックするテストを作成しました。

次のオプションが思い浮かびました:
そこで、コードの実行速度を比較する小さなテストを作成しました。 このテストでは、1500x1500ポイントの配列のすべての要素の読み取りと書き込みをシミュレートしました。 各操作は5回実行され、平均時間が取られました。

また、もちろん、動的配列は事前に作成され、要素で満たされています(つまり、テスト測定中に新しい要素は追加されませんでした)。

だから、何が起こった:



チャート:



結論は明らかです。

ここに投稿されたソースコード: wonderfl.net/c/d58d

Source: https://habr.com/ru/post/J122401/


All Articles