On 2017-04-13 14:05:43 -0400, Tom Lane wrote: > Andres Freund <and...@anarazel.de> writes: > > On 2017-04-13 12:56:14 -0400, Tom Lane wrote: > >> Andres Freund <and...@anarazel.de> writes: > >>> Cool. I wonder if we also should remove AtEOXact_CatCache()'s > >>> cross-checks - the resowner replacement has been in place for a while, > >>> and seems robust enough. They're now the biggest user of time. > > >> Hm, biggest user of time in what workload? I've not noticed that > >> function particularly. > > > Just initdb. I presume it's because the catcaches will frequently be > > relatively big there. > > Hm. That ties into something I was looking at yesterday. The only > reason that function is called so much is that bootstrap mode runs a > separate transaction for *each line of the bki file* (cf do_start, > do_end in bootparse.y). Which seems pretty silly.
Indeed. > On the whole, though, we may be looking at diminishing returns here. > I just did some "perf" measurement of the overall "initdb" cycle, > and what I'm seeing suggests that bootstrap mode as such is now a > pretty small fraction of the overall cycle: > > + 51.07% 0.01% 28 postgres postgres > [.] PostgresMain # > ... > + 13.52% 0.00% 0 postgres postgres > [.] AuxiliaryProcessMain # > > That says that the post-bootstrap steps are now the bulk of the time, > which agrees with naked-eye observation. The AtEOXact_CatCache weren't only in bootstrap mode, but yea, it's by far smaller wins in comparison to the regprocin thing. Greetings, Andres Freund -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers