C# (および Visual Studio 2010) を使用して、5 つの bool の構造体を定義しました (他には何もありません)。次に、その構造体の 16515072 個の要素の配列を作成しました。不思議なことに、ANTS メモリ プロファイラーは、この配列が 80 MB を超えるメモリを占有していることを示しています。
ただし、ビットが完全にパックされている場合は、最大 10 MB しか占有しないはずです。5 つの bool が 1 バイトにパックされた (エンコードされた) 場合でも (これは予想通りです)、配列は最大 16 MB しかありません。
占有するメモリを減らすために、配列のパッキングを改善するにはどうすればよいですか? 大規模な配列のメモリ フットプリントを最適化する際の一般的なベスト プラクティスはありますか?