Machine details
CPU 8 core
OS suse linux 10.3
RAM 24GB
Modified pgbench
one varchar and one integer update
pgbench  old code Modified code Difference(%) Base records 1000000 fill factor 100
TPS Total TPS Total TPS Total update 15 shared buffers 2GB
Run1 242 145596 275 165617 13.63636 13.75106 record size 1800 update size <50
Run2 238 146478 267 160753 12.18487 9.745491 threads 8 clients 16
Run3 238 143188 261 157665 9.663866 10.11048 ckpt seg 256 ckpt interval 15min
Avg 239.3333333 145087.3 267.6667 161345 11.83844 11.20543 wal page size 2K    
pgbench  old code Modified code Difference(%) Base records 1000000 fill factor 80
TPS Total TPS Total TPS Total update 15 shared buffers 2GB
Run1 241 146070 257 154451 6.639004 5.73766 record size 1800 update size <50
Run2 245 148590 269 163266 9.795918 9.876842 threads 8 clients 16
Run3 231 139062 247 149527 6.926407 7.52542 ckpt seg 256 ckpt interval 15min
Avg 239 144574 257.6667 155748 7.810321 7.728914 wal page size 2K