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 1165 703621 3786 2274842 224.9785 223.305 record size 1800 update size 300
Run2 1361 819818 3594 2157678 164.0705 163.1899 sync commit off    
Run3 1407 846262 3449 2075738 145.1315 145.2831 threads 8 clients 16
Avg 1311 789900.3 3609.667 2169419 175.3369 174.6447 auto vacuum off    
ckpt seg 256 ckpt interval 15min
pgbench  old code Modified code Difference(%) Base records 1000000 fill factor 80
TPS Total TPS Total TPS Total update 3 shared buffers 2GB
Run1 1604 967190 3674 2205483 129.0524 128.03 record size 1800 update size 300
Run2 1713 1029704 4457 2681401 160.1868 160.405 sync commit off    
Run3 1684 1011621 5422 3255457 221.9715 221.806 threads 8 clients 16
Avg 1667 1002838 4517.667 2714114 171.0058 170.6432 auto vacuum off    
ckpt seg 256 ckpt interval 15min