Re: Switching to 64-bit Bitmapsets

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: David Rowley <david.rowley@2ndquadrant.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-12-20T04:50:24Z
Lists: pgsql-hackers
David Rowley <david.rowley@2ndquadrant.com> writes:
> I've attached the trivial patch which implements 64-bit Bitmapsets.

> One caveat about this may be that it will likely slow performance for
> 32-bit machines.  My current thinking about that is that such a
> platform is likely not that common a target for the latest version of
> PostgreSQL.

Yeah, I think we've been optimizing for 64-bit platforms for awhile.
I'm not prepared to abandon "it works on 32-bit", but I don't see a
reason to sacrifice 64-bit performance to improve the 32-bit case.

> However, I doubt it would take much more effort to maintain
> using 32-bit sets on 32-bit machines.  If someone feels strongly about
> that then I can adjust the patch to allow that.

Hm, are you thinking of making BITS_PER_BITMAPWORD match sizeof(Pointer)
or something like that?  That seems like a good compromise from here.

			regards, tom lane


Commits

  1. Make bitmapset.c use 64-bit bitmap words on 64-bit machines.