Обсуждение: Confusing comment in tidbitmap.c
The following comment above #define PAGES_PER_CHUNK in tibbitmap.c appears to be incorrect:
"But we
* also want PAGES_PER_CHUNK to be a power of 2 to avoid expensive integer
* remainder operations. So, define it like this:"
I don't quite follow this as it does nothing of the kind. Check tbm_page_is_lossy() where we do: bitno = pageno % PAGES_PER_CHUNK;
Or am I missing something about the compiler optimizing that to: bitno = pageno & 255; ?
Regards
David Rowley
David Rowley <dgrowleyml@gmail.com> writes: > The following comment above #define PAGES_PER_CHUNK in tibbitmap.c appears > to be incorrect: > "But we > * also want PAGES_PER_CHUNK to be a power of 2 to avoid expensive integer > * remainder operations. So, define it like this:" > I don't quite follow this as it does nothing of the kind. > Check tbm_page_is_lossy() where we do: bitno = pageno % PAGES_PER_CHUNK; > Or am I missing something about the compiler optimizing that to: bitno = > pageno & 255; ? Exactly. Any C compiler ever written will do that. regards, tom lane