Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
生産性のために多次元配列をフラットに線形化する理由はありますか? つまり、たとえ仮説であっても、コンパイラからポインタ操作を取得し、インデックスをカウントするときに明示的に実行するだけです。それで、ポイントは何ですか?
それらをフラットにすると、CPU キャッシュに長くとどまる可能性があり (同じメモリ ブロックにあるため)、キャッシュ ミスの数が減り、パフォーマンスが向上します。ただし、特定のプログラムでの実際のパフォーマンスへの影響を正確に確認するには、コードのプロファイリングとベンチマークを行う必要があります。確かに、パフォーマンスのボトルネックを減らすためにギザギザの配列に関して最適化する方法を理解する必要があることをプロファイリングが示していない限り、私はそのようなことについて心配することはありません。