summaryrefslogtreecommitdiff
path: root/junkcode/dongre.avinash@gmail.com-clibutils/inc/c_errors.h
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2011-03-25 16:12:03 +1030
committerRusty Russell <rusty@rustcorp.com.au>2011-03-25 16:12:03 +1030
commitb556ef1fc167e1010b07df5ebd75d808cc30f970 (patch)
treef0c173b3c9ad068b5b9f40fae401e38046df5c91 /junkcode/dongre.avinash@gmail.com-clibutils/inc/c_errors.h
parent1444b09cd357c145b6e3fdb1bce3b6ace6862f56 (diff)
tdb2: speed up transaction code by making page size a constant.
Turning getpagesize() into a constant 4096 really helps gcc optimize, and not just on 64 bit. Here are the results of running "tools/speed --transaction --no-sync 2000000": i386 with gcc 4.4.5: Before: $ ./speed --transaction --no-sync 2000000 Adding 2000000 records: 1195 ns (93594224 bytes) Finding 2000000 records: 719 ns (93594224 bytes) Missing 2000000 records: 429 ns (93594224 bytes) Traversing 2000000 records: 523 ns (93594224 bytes) Deleting 2000000 records: 901 ns (93594224 bytes) Re-adding 2000000 records: 1032 ns (93594224 bytes) Appending 2000000 records: 1711 ns (182801232 bytes) Churning 2000000 records: 3233 ns (182801232 bytes) After: Adding 2000000 records: 868 ns (93594224 bytes) Finding 2000000 records: 569 ns (93594224 bytes) Missing 2000000 records: 369 ns (93594224 bytes) Traversing 2000000 records: 406 ns (93594224 bytes) Deleting 2000000 records: 674 ns (93594224 bytes) Re-adding 2000000 records: 730 ns (93594224 bytes) Appending 2000000 records: 1144 ns (182801232 bytes) Churning 2000000 records: 2085 ns (182801232 bytes) Here's the effect (average of 10) on x8664 with gcc 4.1.2, with an earlier tree and 1000000: Before: Adding 830.1ns Finding 428.3ns Missing 250.3ns Traversing 387.4ns Deleting 588.8ns Re-adding 737.2ns Appending 1141.4ns Churning 1792ns After: Adding 562.8ns Finding 362.1ns Missing 226.4ns Traversing 276.5ns Deleting 426.7ns Re-adding 489.8ns Appending 736.4ns Churning 1112.7ns
Diffstat (limited to 'junkcode/dongre.avinash@gmail.com-clibutils/inc/c_errors.h')
0 files changed, 0 insertions, 0 deletions