Skip to content

Optimize CheckRegularTransaction for larger vin sizes

exteradox requested to merge exteradox/bitcoin-cash-node:new_txcheck_algo into master

To check for duplicate inputs in a transaction, CheckRegularTransaction currently uses a O(n^2) algorithm. This works well for small (n < 120), but for larger input sizes, it is faster to sort and compare adjacent elements.

Closes #220 (closed)

Test plan:

  • ninja check-bitcoin # should produce no errors
  • ninja bench_bitcoin
  • src/bench/bench_bitcoin -filter=CheckRegular.\* # should produce better results
Edited by exteradox

Merge request reports