Browse Source

Merge pull request #3687

82e9600 add constants for shared (GUI/core) -dbcache settings (Philip Kaufmann)
879b390 Increase default dbcache to 100 MiB (Pieter Wuille)
0.10
Wladimir J. van der Laan 11 years ago
parent
commit
bd8e3751d7
No known key found for this signature in database
GPG Key ID: 74810B012346C9A6
  1. 10
      src/init.cpp
  2. 12
      src/qt/forms/optionsdialog.ui
  3. 6
      src/qt/optionsdialog.cpp
  4. 3
      src/qt/optionsmodel.cpp
  5. 7
      src/txdb.h

10
src/init.cpp

@ -196,7 +196,7 @@ std::string HelpMessage(HelpMessageMode hmm) @@ -196,7 +196,7 @@ std::string HelpMessage(HelpMessageMode hmm)
strUsage += " -testnet " + _("Use the test network") + "\n";
strUsage += " -pid=<file> " + _("Specify pid file (default: bitcoind.pid)") + "\n";
strUsage += " -gen " + _("Generate coins (default: 0)") + "\n";
strUsage += " -dbcache=<n> " + _("Set database cache size in megabytes (default: 25)") + "\n";
strUsage += " -dbcache=<n> " + strprintf(_("Set database cache size in megabytes (%d to %d, default: %d)"), nMinDbCache, nMaxDbCache, nDefaultDbCache) + "\n";
strUsage += " -timeout=<n> " + _("Specify connection timeout in milliseconds (default: 5000)") + "\n";
strUsage += " -proxy=<ip:port> " + _("Connect through SOCKS proxy") + "\n";
strUsage += " -socks=<n> " + _("Select SOCKS version for -proxy (4 or 5, default: 5)") + "\n";
@ -776,9 +776,11 @@ bool AppInit2(boost::thread_group& threadGroup) @@ -776,9 +776,11 @@ bool AppInit2(boost::thread_group& threadGroup)
}
// cache size calculations
size_t nTotalCache = GetArg("-dbcache", 25) << 20;
if (nTotalCache < (1 << 22))
nTotalCache = (1 << 22); // total cache cannot be less than 4 MiB
size_t nTotalCache = (GetArg("-dbcache", nDefaultDbCache) << 20);
if (nTotalCache < (nMinDbCache << 20))
nTotalCache = (nMinDbCache << 20); // total cache cannot be less than nMinDbCache
else if (nTotalCache > (nMaxDbCache << 20))
nTotalCache = (nMaxDbCache << 20); // total cache cannot be greater than nMaxDbCache
size_t nBlockTreeDBCache = nTotalCache / 8;
if (nBlockTreeDBCache > (1 << 21) && !GetBoolArg("-txindex", false))
nBlockTreeDBCache = (1 << 21); // block tree db cache shouldn't be larger than 2 MiB

12
src/qt/forms/optionsdialog.ui

@ -53,17 +53,7 @@ @@ -53,17 +53,7 @@
</widget>
</item>
<item>
<widget class="QSpinBox" name="databaseCache">
<property name="toolTip">
<string>Set database cache size in megabytes (default: 25)</string>
</property>
<property name="maximum">
<number>1024</number>
</property>
<property name="value">
<number>25</number>
</property>
</widget>
<widget class="QSpinBox" name="databaseCache"/>
</item>
<item>
<widget class="QLabel" name="databaseCacheUnitLabel">

6
src/qt/optionsdialog.cpp

@ -14,8 +14,9 @@ @@ -14,8 +14,9 @@
#include "monitoreddatamapper.h"
#include "optionsmodel.h"
#include "main.h" // for CTransaction::nMinTxFee
#include "netbase.h"
#include "main.h"
#include "txdb.h" // for -dbcache defaults
#include <QDir>
#include <QIntValidator>
@ -34,7 +35,8 @@ OptionsDialog::OptionsDialog(QWidget *parent) : @@ -34,7 +35,8 @@ OptionsDialog::OptionsDialog(QWidget *parent) :
GUIUtil::restoreWindowGeometry("nOptionsDialogWindow", this->size(), this);
/* Main elements init */
ui->databaseCache->setMaximum(sizeof(void*) > 4 ? 4096 : 1024);
ui->databaseCache->setMinimum(nMinDbCache);
ui->databaseCache->setMaximum(nMaxDbCache);
/* Network elements init */
#ifndef USE_UPNP

3
src/qt/optionsmodel.cpp

@ -14,6 +14,7 @@ @@ -14,6 +14,7 @@
#include "init.h"
#include "main.h"
#include "net.h"
#include "txdb.h" // for -dbcache defaults
#ifdef ENABLE_WALLET
#include "wallet.h"
#include "walletdb.h"
@ -84,7 +85,7 @@ void OptionsModel::Init() @@ -84,7 +85,7 @@ void OptionsModel::Init()
#endif
if (!settings.contains("nDatabaseCache"))
settings.setValue("nDatabaseCache", 25);
settings.setValue("nDatabaseCache", nDefaultDbCache);
if (!SoftSetArg("-dbcache", settings.value("nDatabaseCache").toString().toStdString()))
strOverriddenByCommandLine += "-dbcache ";

7
src/txdb.h

@ -18,6 +18,13 @@ class CBigNum; @@ -18,6 +18,13 @@ class CBigNum;
class CCoins;
class uint256;
// -dbcache default (MiB)
static const int nDefaultDbCache = 100;
// max. -dbcache in (MiB)
static const int nMaxDbCache = sizeof(void*) > 4 ? 4096 : 1024;
// min. -dbcache in (MiB)
static const int nMinDbCache = 4;
/** CCoinsView backed by the LevelDB coin database (chainstate/) */
class CCoinsViewDB : public CCoinsView
{

Loading…
Cancel
Save