aboutsummaryrefslogtreecommitdiff
path: root/src/db.cpp
diff options
context:
space:
mode:
authorGavin Andresen <[email protected]>2012-03-22 06:17:44 -0700
committerGavin Andresen <[email protected]>2012-03-22 06:17:44 -0700
commit0e894be626ae15f26f6f1483b38c7e9191bdb638 (patch)
tree695d91032616afb26b10fa366a1814b6ce6a081d /src/db.cpp
parentMerge branch 'master' of github.com:bitcoin/bitcoin (diff)
parentSpeed up block downloading (diff)
downloaddiscoin-0e894be626ae15f26f6f1483b38c7e9191bdb638.tar.xz
discoin-0e894be626ae15f26f6f1483b38c7e9191bdb638.zip
Merge pull request #964 from sipa/fastblocks
Speed up block downloading
Diffstat (limited to 'src/db.cpp')
-rw-r--r--src/db.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/db.cpp b/src/db.cpp
index 0344c7960..7c3937a49 100644
--- a/src/db.cpp
+++ b/src/db.cpp
@@ -84,8 +84,11 @@ CDB::CDB(const char* pszFile, const char* pszMode) : pdb(NULL)
string strErrorFile = strDataDir + "/db.log";
printf("dbenv.open strLogDir=%s strErrorFile=%s\n", strLogDir.c_str(), strErrorFile.c_str());
+ int nDbCache = GetArg("-dbcache", 25);
dbenv.set_lg_dir(strLogDir.c_str());
- dbenv.set_lg_max(10000000);
+ dbenv.set_cachesize(nDbCache / 1024, (nDbCache % 1024)*1048576, 1);
+ dbenv.set_lg_bsize(10485760);
+ dbenv.set_lg_max(104857600);
dbenv.set_lk_max_locks(10000);
dbenv.set_lk_max_objects(10000);
dbenv.set_errfile(fopen(strErrorFile.c_str(), "a")); /// debug
@@ -156,7 +159,7 @@ void CDB::Close()
nMinutes = 1;
if (strFile == "addr.dat")
nMinutes = 2;
- if (strFile == "blkindex.dat" && IsInitialBlockDownload() && nBestHeight % 500 != 0)
+ if (strFile == "blkindex.dat" && IsInitialBlockDownload() && nBestHeight % 5000 != 0)
nMinutes = 1;
dbenv.txn_checkpoint(0, nMinutes, 0);