On 26 Oct 2010, at 10:46 PM, William A. Rowe Jr. wrote:
It is not simply a bit mask.
It's a bit mask, shift and shift extension, since this is an int
bitfield
and not unsigned. Two values, 0 and -1.
Are you sure it's not just an AND followed by JNZ? We're only
interested in whether the bit is set, we're not manipulating it to
compare it to the int value "1" are we?
Great for fields that will be accessed once per request.
Horrid performance for per-dir merging.
Even to Jim's comment, an unsigned char would outperform a signed
char,
which has to be sign-extended into a full int.
How does this affect a modern CPU cache, given that the enemy of a CPU
cache is data size?
Regards,
Graham
--