I timed two runs with clean data directories (no contents), -noirc, -addnode=10.10.10.1, Linux 64-bit. Hardware: SATA SSD
Mainline, no patches:
32 minutes to download 94660 blocks.Mainline + TxnBegin/TxnCommit in AddToBlockIndex():
25 minutes to download 94660 blocks.
That’s a good optimisation. I’ll add that next time I update SVN.
More generally, we could also consider this:
dbenv.set_lk_max_objects(10000);
dbenv.set_errfile(fopen(strErrorFile.c_str(), “a”)); /// debug
dbenv.set_flags(DB_AUTO_COMMIT, 1);
+ dbenv.set_flags(DB_TXN_NOSYNC, 1);
ret = dbenv.open(strDataDir.c_str(),
DB_CREATE |
DB_INIT_LOCK |
DB_INIT_LOG |
We would then rely on dbenv.txn_checkpoint(0, 0, 0) in CDB::Close() to flush after wallet writes.
52,715 total views, 20 views today
https://bitcointalk.org/index.php?topic=1931.msg26016#msg26016