Re: Slow GRANT ROLE on PostgreSQL 16 with thousands of ROLEs
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@lists.postgresql.org, alex work <alexwork033@gmail.com>, Robert Haas <robertmhaas@gmail.com>
Date: 2024-03-22T00:51:39Z
Lists: pgsql-hackers, pgsql-general
On Thu, Mar 21, 2024 at 03:40:12PM -0500, Nathan Bossart wrote: > On Thu, Mar 21, 2024 at 04:31:45PM -0400, Tom Lane wrote: >> I don't think we have any really cheap way to de-duplicate the role >> OIDs, especially seeing that it has to be done on-the-fly within the >> collection loop, and the order of roles_list is at least potentially >> interesting. Not sure how to make further progress without a lot of >> work. > > Assuming these are larger lists, this might benefit from optimizations > involving SIMD intrinsics. I looked into that a while ago [0], but the > effort was abandoned because we didn't have any concrete use-cases at the > time. (I'm looking into some additional optimizations in a separate thread > [1] that would likely apply here, too.) Never mind. With the reproduction script, I'm only seeing a ~2% improvement with my patches. -- Nathan Bossart Amazon Web Services: https://aws.amazon.com
Commits
-
Optimize roles_is_member_of() with a Bloom filter.
- d365ae705409 17.0 landed
-
Use a hash table for catcache.c's CatCList objects.
- 473182c9523a 17.0 landed
- 14e991db89b1 16.3 landed