neo-go/pkg/core
Roman Khimov c009356b73 core: simplify component flushing in storeBlock
Instead of flushing everything to `cache` and then to `bc.dao`, wrap `bc.dao`
directly for block/tx data and AERs and then flush to it. Block/transactions
are usually processed more quickly than other components, so they easily end
up in `cache` where they directly affect Seek performance for any executing
transaction.

Simple as it is this change improves voter NEO transfer benchmark with 1000
accounts by more than 25%, from ~18500 TPS to ~23500 TPS. It doesn't affect
much other cases.
2021-09-22 17:15:12 +03:00
..
block core: marshal Block.Nonce in upper-case hex 2021-09-09 15:52:51 +03:00
blockchainer core: convert (*Blockchain).JumpToState to a callback 2021-09-07 19:43:27 +03:00
chaindump block: drop Network from the Header 2021-03-26 13:45:18 +03:00
dao core: refactor (*DAO).StoreAsTransaction 2021-08-18 13:39:28 +03:00
fee fee: use array for opcodes 2021-08-02 20:18:33 +03:00
interop core: remove unused interopnames 2021-09-21 16:43:09 +03:00
mempool core: move mempool.Event to a separate package 2021-06-01 12:24:28 +03:00
mempoolevent core: move mempool.Event to a separate package 2021-06-01 12:24:28 +03:00
mpt core: clone MPT node while restoring it multiple times 2021-09-07 19:43:27 +03:00
native native: short-circuit successive GAS distributions 2021-09-22 17:13:55 +03:00
state state: optimize NEP17TransferLog.Append 2021-08-09 11:09:49 +03:00
stateroot core: remove outdated blocks/txs/AERs/MPT nodes during state sync 2021-09-07 19:43:27 +03:00
statesync core: fix bug in MPT pool during Update 2021-09-07 19:43:27 +03:00
storage core: allow to recover after state jump interruption 2021-09-07 19:43:27 +03:00
test_data core/block: add Nonce field to header 2021-07-15 15:58:49 +03:00
transaction transaction: fix ContentTypeNotSupported oracle code processing 2021-09-14 15:18:38 +03:00
bench_test.go core: don't recalculate witness script hash 2021-08-06 11:25:09 +03:00
blockchain.go core: simplify component flushing in storeBlock 2021-09-22 17:15:12 +03:00
blockchain_test.go core: add tests for StateSync module 2021-09-07 19:43:27 +03:00
doc.go core: add Blockchain event subscription mechanism 2020-05-25 00:27:39 +03:00
helper_test.go core: fix NEO balance state handler 2021-09-20 19:23:35 +03:00
interop_system.go core: reuse PushItem for interops 2021-08-30 23:43:58 +03:00
interop_system_test.go runtime: fix CustomGroups witness 2021-08-24 15:50:24 +03:00
interops.go interop: implement System.Runtime.GetRandom 2021-07-15 16:00:01 +03:00
interops_test.go core: remove conflicting transactions wrt MaxTraceableBlocks 2021-08-18 13:31:47 +03:00
native_contract_test.go core: remove conflicting transactions wrt MaxTraceableBlocks 2021-08-18 13:31:47 +03:00
native_designate_test.go core/test: get rid of empty tx scripts 2021-07-15 15:58:49 +03:00
native_gas_test.go native: drop Refuel method from GAS 2021-08-05 10:27:13 +03:00
native_ledger_test.go core/block: add Nonce field to header 2021-07-15 15:58:49 +03:00
native_management_test.go core: maintain a set of NEP17-compliant contracts 2021-07-28 13:22:53 +03:00
native_neo_test.go core: fix NEO balance state handler 2021-09-20 19:23:35 +03:00
native_notary_test.go config: make MaxValidUntilBlockIncrement configurable 2021-05-17 13:43:03 +03:00
native_oracle_test.go core/test: get rid of empty tx scripts 2021-07-15 15:58:49 +03:00
native_policy_test.go native/policy: disallow blocking native contracts 2021-09-03 11:11:06 +03:00
nonnative_name_service_test.go nft-nd-nns: add getAllRecords method 2021-09-10 16:30:45 +03:00
notary_test.go notary: process new transactions in a separate goroutine 2021-07-23 14:48:00 +03:00
oracle_test.go *: simplify some error messages 2021-07-23 10:08:09 +03:00
prometheus.go stateroot: move state-root related logic to core/stateroot 2021-03-09 13:48:29 +03:00
stateroot_test.go *: make tests use TempDir(), fix #1319 2021-08-26 17:29:40 +03:00
statesync_test.go core: add tests for StateSync module 2021-09-07 19:43:27 +03:00
util.go core/block: add Nonce field to header 2021-07-15 15:58:49 +03:00
util_test.go core/block: add Nonce field to header 2021-07-15 15:58:49 +03:00