"Guillaume Smet" <[EMAIL PROTECTED]> writes:

> Tom, from my tests, the slow down goes down from 8% to 4% but it's
> still there and measurable. It's pretty consistent with the fact that
> you only saw a 3% slow down in your tests.
> The fact that you had only 3% overhead is still bugging me though.
> I'll dig a bit further to see if I can find something interesting or
> if there's something wrong with my setup.

Several of the major changes in 8.3 are I/O vs CPU tradeoffs which could be
causing a slowdown if you're measuring primarily CPU resources. I'm thinking
of both HOT and packed varlenas. I don't know if either of these are causing
your slowdown but it's possible.

HOT reduces the need to vacuum and reduces table and index bloat in exchange
for having to do some amount of vacuuming in the critical path. Effectively
it's moving some cpu work into the critical path which if you may not be
measuring in 8.2 if you weren't including vacuums in your measurements. 

Packed varlenas reduces space usage -- especially for database which are
heavily based on text/varchar and "numeric" -- but at the expense of having to
expand those fields whenever they're operated on. For a RAM-resident test that
may be a net loss.

This is a conflict which will affect Postgres in the future as well. Generally
I/O costs win over cpu costs in databases since only relatively small systems
are cpu-bound. Large systems are typically I/O-bound.

-- 
  Gregory Stark
  EnterpriseDB          http://www.enterprisedb.com
  Ask me about EnterpriseDB's RemoteDBA services!

---------------------------(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

Reply via email to