From: | Gavin Sherry <swm(at)linuxworld(dot)com(dot)au> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: pgstats_initstats() cost |
Date: | 2003-08-12 13:56:25 |
Message-ID: | Pine.LNX.4.21.0308122354160.13852-200000@linuxworld.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, 12 Aug 2003, Tom Lane wrote:
> Gavin Sherry <swm(at)linuxworld(dot)com(dot)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 ...
Neither. I might look into it further later, but here's a patch to exit
out of pgstat_initstats() if we're not collecting stats (attached).
Thanks,
Gavin
Attachment | Content-Type | Size |
---|---|---|
pgstat.diff | text/plain | 712 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Treat | 2003-08-12 13:58:18 | message at end of install |
Previous Message | Tom Lane | 2003-08-12 13:49:07 | Re: pgstats_initstats() cost |