原始文献 / 论坛帖 / Re: RFC: ship block chain 1-74000 with release tarballs?

Re: RFC: ship block chain 1-74000 with release tarballs?

Bitcointalk · 2010-12-01 21:25:39 UTC

AuthorSatoshi Nakamoto
TitleRe: RFC: ship block chain 1-74000 with release tarballs?
Date2010-12-01 21:25:39 UTC
ForumBitcointalk · 原文

这是个不错的优化。我下次更新 SVN 时加上。

更一般地,我们也可以考虑这个:

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 |

那之后写钱包的刷盘就靠 CDB::Close() 里的 dbenv.txn_checkpoint(0, 0, 0) 了。

英文原文

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.