bitcoin/bitcoin — pull request #4683 by sipa (2014-08-12 11:53:02+00:00)
Title: Some coin database memory usage tweaks.

* Make CScript::clear() release memory (indirectly causing transaction outputs being
spent to release associated heap memory).
* Make CCoinsView::BatchWrite consume the passed CCoinsMap, rather than copy from it.
* As a result, CCoinsViewDb now progressively converts the map to LevelDB entries,
rather than copying.
* Merging a CCoinsViewCache into a parent cache uses CCoins::swap + release rather
than copy + bulk release at the end.

Untested, but should reduce peak memory usage and some CPU time.