ntdb: reduce transaction pagesize from 64k to 16k.
authorRusty Russell <rusty@rustcorp.com.au>
Mon, 18 Jun 2012 13:00:30 +0000 (22:30 +0930)
committerRusty Russell <rusty@rustcorp.com.au>
Tue, 19 Jun 2012 03:38:06 +0000 (05:38 +0200)
The performance numbers for transaction pagesize are indeterminate:
larger pagesizes means a smaller transaction array, and a better
chance of having a contiguous record (more efficient for
ntdb_parse_record and some internal operations inside a transaction).

On the other hand, large pagesize means more I/O even if we change a
few bytes.

But it also controls the multiple by which we will enlarge the file,
and hence the minimum db size.  It's 4k for tdb1, but 16k seems
reasonable in these modern times.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
lib/ntdb/private.h

index 4e87f15b8f781041cf642df8fd7b30abeeec61f5..01f2b45e9b81e645d7b2e359fba21d47f5a42ff3 100644 (file)
@@ -100,7 +100,7 @@ typedef uint64_t ntdb_off_t;
 
 /* This doesn't really need to be pagesize, but we use it for similar
  * reasons. */
-#define NTDB_PGSIZE 65536
+#define NTDB_PGSIZE 16384
 
 /* Common case of returning true, false or -ve error. */
 typedef int ntdb_bool_err;