1) 32 ビット CPU では、32 個のブール値の配列にアクセスするのと、1 ワード内で 32 ビットにアクセスするのとのどちらが速いですか? (N 番目の要素の値をチェックしたいと仮定し、配列インデックスとしてビットマスク (N 番目のビットが設定されている) または整数 N のいずれかを使用できるとします。)
すべての一般的なコンピューター アーキテクチャはワード レベル (32 ビット、64 ビットなど、並列処理) でネイティブに動作し、サブワード ビットへのアクセスには余分な作業が必要になるため、配列の方が高速になるように思えます。
コンパイラが異なれば表現も異なることはわかっていますが、基盤となるハードウェア アーキテクチャによって答えが決まるようです。それとも、答えは言語とコンパイラに依存しますか?
そして、2) この配列がクライアントとサーバーの間で渡される状態を表している場合、速度の答えは逆ですか? この質問は、「ビット/ビット演算子を使用してオブジェクトの状態を制御する方法は?」という質問を読んだときに思い浮かびました。
PS はい、これを自分でテストするためのコードを書くことはできますが、そうすると SO コミュニティは協力してくれません!