Re: Binary search in fmgr_isbuiltin() is a bottleneck.
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Jeevan Ladhe <jeevan.ladhe@enterprisedb.com>
Cc: Andres Freund <andres@anarazel.de>, PostgreSQL Developers <pgsql-hackers@postgresql.org>
Date: 2017-09-27T15:30:28Z
Lists: pgsql-hackers
On Wed, Sep 27, 2017 at 11:18 AM, Robert Haas <robertmhaas@gmail.com> wrote: > No, I think what Andres is saying is that we ought to build the hash > table before we ever reach this function, so that we don't have to > have a branch here to check whether it's been done. I don't see why > that's particularly hard -- it can be jammed into the startup sequence > someplace early, I assume. In EXEC_BACKEND builds it will have to be > redone in each child, but that's just a matter of sticking a call into > SubPostmasterMain() as well as PostMasterMain(). I suppose an even better approach would be to build a perfect hash table at compile time so that nothing needs to be built at run-time at all, but I'm not sure it's worth the trouble. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Replace binary search in fmgr_isbuiltin with a lookup array.
- 212e6f34d55c 11.0 landed
-
Add inline murmurhash32(uint32) function.
- 791961f59b79 11.0 cited