aboutsummaryrefslogtreecommitdiff
path: root/src/checkqueue.h
Commit message (Collapse)AuthorAgeFilesLines
* Port Thread* methods to boost::thread_groupGavin Andresen2013-04-031-18/+0
|
* Improve block database load error reportingPieter Wuille2013-02-171-0/+4
|
* Parallelize script verificationPieter Wuille2013-01-081-0/+206
* During block verification (when parallelism is requested), script check actions are stored instead of being executed immediately. * After every processed transactions, its signature actions are pushed to a CScriptCheckQueue, which maintains a queue and some synchronization mechanism. * Two or more threads (if enabled) start processing elements from this queue, * When the block connection code is finished processing transactions, it joins the worker pool until the queue is empty. As cs_main is held the entire time, and all verification must be finished before the block continues processing, this does not reach the best possible performance. It is a less drastic change than some more advanced mechanisms (like doing verification out-of-band entirely, and rolling back blocks when a failure is detected). The -par=N flag controls the number of threads (1-16). 0 means auto, and is the default.