Previously modifications in memory would be flushed to the log files and then immediately written out from the log files to wallet.dat. This is unnecessary for durability guarantees and significantly effected performance.
Wallet: Flush database to log files #7057
pull pstratem wants to merge 1 commits into bitcoin:master from pstratem:2015-11-18-wallet-flush changing 1 files +1 −6-
pstratem commented at 1:23 AM on November 19, 2015: contributor
-
30bfb60e55
Wallet: Flush database to log files
Previously modifications in memory would be flushed to the log files and then immediately written out from the log files to wallet.dat. This is unnecessary for durability guarantees and effects performance.
-
pstratem commented at 4:08 AM on November 19, 2015: contributor
Adding 10k entries to the keypool took 2m5.210s on master and 1m31.195s on this branch.
The log files are written out to the database directory which is then written back to wallet.dat by the background flush thread.
- jonasschnelli added the label Wallet on Nov 19, 2015
-
sipa commented at 1:06 PM on November 28, 2015: member
It seems that memp_sync can return an error DB_INCOMPLETE indicating that some dirty pages couldn't be written. Is that a problem?
-
pstratem commented at 1:28 AM on December 8, 2015: contributor
@sipa the docs seem to be confused on this...
https://docs.oracle.com/cd/E17275_01/html/api_reference/C/mempsync.html
-
pstratem commented at 1:34 AM on December 8, 2015: contributor
DB_INCOMPLETE doesn't seem to be defined
- pstratem closed this on Dec 13, 2015
- DrahtBot locked this on Sep 8, 2021