I wrote: > The weird thing is that after a couple of hours of poking at it with > oprofile and other sharp objects, I have no idea *why* it's slower. > oprofile shows just about the same relative percentages for all the > hot-spot functions in the backend.
However, some comparisons with gprof show that the planner is calling the hot-spot functions more than it used to, which might be enough to account for a couple percent on trivial queries like the ones being issued by pg_bench ("SELECT abalance FROM accounts WHERE aid = :aid;"). After the holiday I'll look into refactoring to try to avoid the extra calls. Another issue is that on read-only transactions there's an extra gettimeofday() call caused by pgstat_report_tabstats, which could be a problem on machines with slow gettimeofday(). However that shouldn't happen if you've got track_counts turned off, so if you don't see any difference with or without stats then it's not the problem for you. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match