Machine details
CPU 8 core
OS suse linux 10.3
RAM 24GB
Modified pgbench
one char, 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 3 shared buffers 2GB
Run1 1237 743032 1386 832450 12.04527 12.03421 record size 1800 update size 250
Run2 1020 612983 1368 822133 34.11765 34.12003 threads 8 clients 16
Run3 959 576783 1371 826621 42.96142 43.31577 auto vacuum off wal page size 1K
Avg 1072 644266 1375 827068 28.26493 28.37368 ckpt seg 256 ckpt interval 15min
sync commit  off    
pgbench  old code Modified code Difference(%) Base records 1000000 fill factor 80
TPS Total TPS Total TPS Total update 3 shared buffers 2GB
Run1 1443 866768 2670 1604341 85.03119 85.09463 record size 1800 update size 250
Run2 1342 806624 2639 1587127 96.6468 96.76169 threads 8 clients 16
Run3 1505 905615 2869 1724974 90.63123 90.47542 auto vacuum off wal page size 1K
Avg 1430 859669 2726 1638814 90.62937 90.63314 ckpt seg 256 ckpt interval 15min
sync commit off