Re: pgstats_initstats() cost - Mailing list pgsql-hackers

From Tom Lane
Subject Re: pgstats_initstats() cost
Date
Msg-id 1136.1060696147@sss.pgh.pa.us
Whole thread Raw
In response to pgstats_initstats() cost  (Gavin Sherry <swm@linuxworld.com.au>)
Responses Re: pgstats_initstats() cost
Re: pgstats_initstats() cost
List pgsql-hackers
Gavin Sherry <swm@linuxworld.com.au> writes:
> but pgstat_initstats() caught my eye. This gets called about 6 times per
> insert (I did 100000 inserts) and the major cost appears to relate to the
> linear pgStatTabstatMessages. The comparative performance of
> hash_search() suggests that pgStatTabstatMessages may benefit from use of
> a hash. However, it seems unreasonable that we're doing work at all in
> pgstat_initstats() if the user is not interested in query/block/tuple
> stats.

The coding in the search loop could perhaps be tightened a little, but
I'd think the last point should be addressed by dropping out via the
"no_stats" exit if stats aren't being gathered.

I doubt a hash is worth maintaining, because the active tabstat entries
should only be for tables that are being touched in the current command
(thus, there are not more than six in your example).  I'm not sure why
it takes so much time to look through six entries though ...
        regards, tom lane


pgsql-hackers by date:

Previous
From: Gavin Sherry
Date:
Subject: regression test code coverage
Next
From: Gavin Sherry
Date:
Subject: Re: pgstats_initstats() cost