bitの初期化は「0代入」と「^(XOR)演算」どちらが速い?
bit演算について色々調べてみると、Wikipediaでこのような文を発見しました。
多くのアーキテクチャでは、ゼロという値をロードしてレジスタに格納するよりもXORを行う方がCPUクロックサイクルを消費せず、また命令長も短いためメモリを節約できる。
同じレジスタを指定したXOR命令を実行して同じレジスタに戻すことでその内容をゼロにすることができる。
例えば、
unsigned int hogeBit;
という変数があるものとし、色々bitを弄った後であるとすると、
hogebit = 0;
よりも
hogeBit ^= hogeBit;
のほうがbitの0化のメモリの負担が少ないと述べていると認識しています。
ここでいう「多くのアーキテクチャ」というのがいつまでの時代のものを指すのかいまいち把握できてはいませんが、これは現在でも有効な手法なのでしょうか。
「有効」というのは「差が多かれ少なかれ負担が少ない」という解釈でお願いいたします。
よろしくお願いいたします。