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
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers