I don't feel this is quite ready to commit, but here it is if anyone would like to try some performance testing. Using "pgbench -s 10" on a single-CPU machine, I find this code a little slower than CVS tip at shared_buffers = 1000, but noticeably faster (~10% speedup) at 10000 buffers. So it's not a dead loss for single-CPU anyway. What we need now is some performance measurements on multi-CPU boxes.
The bgwriter algorithm probably needs more work, maybe some more GUC parameters.
Here are some results for a 2xPIII 700Mhz with 2G ram running Freebsd 5.3:
Pgbench: s=10 c=4 t=1000 Pg: wal_buffers=128 checkpoint_segments=10 shared_buffers=1000|10000
3 runs of each combination were averaged. the figure is the tps including connection time (with range in the brackets).
8.1 CVS
shared_buffers=1000 tps=129 (129-131) shared_buffers=10000 tps=146 (145-148)
8.1 CVS + buf patch
shared_buffers=1000 tps=135 (131-138) shared_buffers=10000 tps=154 (154-155)
regards
Mark
---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]