neo-go/pkg/core
Roman Khimov d0f9a28196 vm/core: improve block import speed with PublicKey caching
This change (closely related to the neo-project/neo#1321 proposal) speeds up
1.4M mainnet blocks import by 30%. Basically, we're eliminating key decoding
for block's multisignature that has the same keys most of the time.

Things I don't like about this patch:
 * yet another parameter for verifyHashAgainstScript()
 * vm keys are not copied in/out

But it's rather simple and solves the problem for this particular case, so I
think it's worth it.
2019-12-10 19:13:29 +03:00
..
storage util: add LE suffix to Uint256 methods 2019-12-06 12:16:55 +03:00
test_data Persist blockchain with leveldb on disk (#48) 2018-03-17 12:53:21 +01:00
transaction core/tx: remove publickey indirection from assets and txes 2019-12-09 18:33:04 +03:00
account_state.go *: implement EncodeBinary with pointer receivers where appropriate 2019-12-09 18:25:15 +03:00
account_state_test.go core: rework balance accounting 2019-11-15 22:05:09 +03:00
asset_state.go core/tx: remove publickey indirection from assets and txes 2019-12-09 18:33:04 +03:00
asset_state_test.go core/tx: remove publickey indirection from assets and txes 2019-12-09 18:33:04 +03:00
block.go *: implement EncodeBinary with pointer receivers where appropriate 2019-12-09 18:25:15 +03:00
block_base.go core/tx: remove one layer of indirection for scripts and inouts 2019-12-09 17:14:10 +03:00
block_test.go core/tx: remove one layer of indirection for scripts and inouts 2019-12-09 17:14:10 +03:00
blockchain.go vm/core: improve block import speed with PublicKey caching 2019-12-10 19:13:29 +03:00
blockchain_state.go util: add LE suffix to Uint256 methods 2019-12-06 12:16:55 +03:00
blockchain_state_test.go core: unit tests blockchain state 2019-11-21 15:41:49 +03:00
blockchain_test.go util: add LE suffix to Uint256 methods 2019-12-06 12:16:55 +03:00
blockchainer.go *: gofmt 2019-12-02 10:10:50 +03:00
coin_state.go Persist transactions (#51) 2018-03-21 17:11:04 +01:00
contract_state.go io: rename ReadBytes() to ReadVarBytes() 2019-12-09 15:00:15 +03:00
contract_state_test.go *: fix some misspellings 2019-10-17 12:30:24 +03:00
feer.go Implement rpc server method: sendrawtransaction (#174) 2019-03-20 12:30:05 +00:00
header.go io: implement ReadBytes() 2019-12-09 15:00:15 +03:00
header_hash_list.go util: implement io.Serializable for Uint256 2019-11-14 14:20:38 +03:00
header_test.go core/tx: remove one layer of indirection for scripts and inouts 2019-12-09 17:14:10 +03:00
helper_test.go core/tx: remove one layer of indirection for scripts and inouts 2019-12-09 17:14:10 +03:00
interop_neo.go core/tx: remove publickey indirection from assets and txes 2019-12-09 18:33:04 +03:00
interop_neo_test.go core/tx: remove publickey indirection from assets and txes 2019-12-09 18:33:04 +03:00
interop_system.go util: add LE suffix to Uint256 methods 2019-12-06 12:16:55 +03:00
interops.go core/crypto: add validators and interop for validators 2019-11-21 15:23:35 +03:00
mem_pool.go core/tx: remove one layer of indirection for scripts and inouts 2019-12-09 17:14:10 +03:00
mem_pool_test.go core: remove transactions from MemPool when they're stored in block 2019-10-24 13:12:02 +03:00
notification_event.go *: implement EncodeBinary with pointer receivers where appropriate 2019-12-09 18:25:15 +03:00
prometheus.go monitoring: add prometheus monitoring 2019-10-29 20:51:17 +03:00
random_util_test.go pkg: make use of the new crypto/hash package 2019-08-26 13:32:19 +03:00
spent_coin_state.go io: implement ReadBytes() 2019-12-09 15:00:15 +03:00
spent_coin_state_test.go core: deduplicate state commit methods, use interim MemCachedStore 2019-10-16 17:33:45 +03:00
storage_item.go io: rename ReadBytes() to ReadVarBytes() 2019-12-09 15:00:15 +03:00
storage_item_test.go util: add LE suffix to Uint160 methods 2019-12-06 12:16:55 +03:00
unspent_coin_state.go Merge pull request #546 from nspcc-dev/write-optimizations 2019-12-06 19:40:38 +03:00
unspent_coint_state_test.go core: deduplicate state commit methods, use interim MemCachedStore 2019-10-16 17:33:45 +03:00
util.go core/tx: remove publickey indirection from assets and txes 2019-12-09 18:33:04 +03:00
util_test.go util: add LE suffix to Uint256 methods 2019-12-06 12:16:55 +03:00
validator_state.go core: add weighted function for validators 2019-11-21 15:41:49 +03:00
validator_state_test.go core: unit test validator state 2019-11-21 15:41:49 +03:00