1

私の機械語が 32 ビット長で、8 文字の文字列をソートする必要があるとします。
文字を単語にパックすると、アライメントされたメモリアクセスを使用するため、比較が高速になることを読みました。
したがって、この例では、文字列を 4 バイトの 2 つの単語に分割し、各文字列の最初の単語を使用して比較し、それらが等しい場合は、各文字列の 2 番目の単語を確認します。

パフォーマンスは向上しますか?それは速くなりますか?コーディングがより複雑になるので、それは報われますか? 機能する場合、すべての言語で機能しますか?

4

1 に答える 1

1

答えはアーキテクチャに依存し、コンパイラは通常、これらを最適化する上で非常にうまく機能します。特定のアーキテクチャ用にプログラミングしていない限り、すべての速度を絞り出し、プロセッサを本当に知っている必要がある場合を除き、コンパイラにアライメントを決定させたほうがよいでしょう。

于 2011-06-15T19:54:16.530 に答える