forked from TrueCloudLab/neoneo-go
23464401bc
This change reduces pressure on DB by doing the following things: * not storing additional KV pair for SpentCoin * storing Output right in the UnspentCoin, thus eliminating the need to get a full transaction from DB At the same time it makes UnspentCoin more fat and hot, but it should probably worth it. Also drop `GetUnspentCoinStateOrNew` as it shouldn't ever existed, UTXOs can't come out of nowhere. 1.5M block import time (VerifyBlocks disabled) on AMD Ryzen 5 1600/16GB/HDD, before: real 302m9.895s user 96m17.200s sys 13m37.084s after: real 159m16.551s user 69m58.279s sys 7m34.334s So it's almost two-fold which is a great improvement. |
||
---|---|---|
.. | ||
account.go | ||
account_test.go | ||
asset.go | ||
asset_test.go | ||
coin.go | ||
contract.go | ||
contract_test.go | ||
nep5.go | ||
nep5_test.go | ||
notification_event.go | ||
notification_event_test.go | ||
storage_item.go | ||
storage_item_test.go | ||
unspent_coin.go | ||
unspent_coin_test.go | ||
validator.go | ||
validator_test.go |