0

生産性のために多次元配列をフラットに線形化する理由はありますか? つまり、たとえ仮説であっても、コンパイラからポインタ操作を取得し、インデックスをカウントするときに明示的に実行するだけです。それで、ポイントは何ですか?

4

1 に答える 1

2

それらをフラットにすると、CPU キャッシュに長くとどまる可能性があり (同じメモリ ブロックにあるため)、キャッシュ ミスの数が減り、パフォーマンスが向上します。ただし、特定のプログラムでの実際のパフォーマンスへの影響を正確に確認するには、コードのプロファイリングとベンチマークを行う必要があります。確かに、パフォーマンスのボトルネックを減らすためにギザギザの配列に関して最適化する方法を理解する必要があることをプロファイリングが示していない限り、私はそのようなことについて心配することはありません。

于 2013-10-08T07:48:45.337 に答える