4 ms·
Definitely low bits: #define DATA(buf) ((char*)((intptr_t)((buf)->data) << BFT_TYPE_BITS)) Older programmers tend to raise an eyebrow at added computation lik
by jws 5y ago
Definitely low bits:
#define DATA(buf) ((char*)((intptr_t)((buf)->data) << BFT_TYPE_BITS))
Older programmers tend to raise an eyebrow at added computation like the "<<", but here in 2022 we need to remember that we are about to do a memory access and even if it's in L1 cache, that "<<" is basically free by comparison.
- TickleSteve 5y agoMost microcontrollers do not have cache of this form (rather a simple read-ahead buffer at most). Microcontrollers are also one of the targets of this type of library and the shift absolutely will have an effect.