Official Go implementation of the Ethereum protocol
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Felix Lange
5f7826270c
all: unify big.Int zero checks, use common/math in more places ( #3716 )
...
* common/math: optimize PaddedBigBytes, use it more
name old time/op new time/op delta
PaddedBigBytes-8 71.1ns ± 5% 46.1ns ± 1% -35.15% (p=0.000 n=20+19)
name old alloc/op new alloc/op delta
PaddedBigBytes-8 48.0B ± 0% 32.0B ± 0% -33.33% (p=0.000 n=20+20)
* all: unify big.Int zero checks
Various checks were in use. This commit replaces them all with Int.Sign,
which is cheaper and less code.
eg templates:
func before(x *big.Int) bool { return x.BitLen() == 0 }
func after(x *big.Int) bool { return x.Sign() == 0 }
func before(x *big.Int) bool { return x.BitLen() > 0 }
func after(x *big.Int) bool { return x.Sign() != 0 }
func before(x *big.Int) int { return x.Cmp(common.Big0) }
func after(x *big.Int) int { return x.Sign() }
* common/math, crypto/secp256k1: make ReadBits public in package math
8 years ago
..
asm
core, core/vm, cmd/disasm: unify procedures for disassembling evm code ( #3530 )
8 years ago
state
all: unify big.Int zero checks, use common/math in more places ( #3716 )
8 years ago
types
all: unify big.Int zero checks, use common/math in more places ( #3716 )
8 years ago
vm
all: unify big.Int zero checks, use common/math in more places ( #3716 )
8 years ago
.gitignore
Renamed `chain` => `core`
10 years ago
bench_test.go
common: move big integer math to common/math ( #3699 )
8 years ago
block_validator.go
common: move big integer math to common/math ( #3699 )
8 years ago
block_validator_test.go
cmd/geth, core: add support for recording SHA3 preimages ( #3543 )
8 years ago
blockchain.go
all: blidly swap out glog to our log15, logs need rework
8 years ago
blockchain_test.go
params: core, core/vm, miner: 64bit gas instructions
8 years ago
blocks.go
core, core/state: fixed consensus issue added touch revert
8 years ago
chain_makers.go
cmd/geth, core: add support for recording SHA3 preimages ( #3543 )
8 years ago
chain_makers_test.go
params: core, core/vm, miner: 64bit gas instructions
8 years ago
chain_pow.go
core: separate and contain POW verifier, extensive tests
10 years ago
chain_pow_test.go
core, core/state, trie: EIP158, reprice & skip empty account write
8 years ago
dao.go
core, core/state, core/vm: remove exported account getters ( #3618 )
8 years ago
dao_test.go
cmd/geth, core: add support for recording SHA3 preimages ( #3543 )
8 years ago
database_util.go
core, eth: drop database block splitting upgrader
8 years ago
database_util_test.go
common: move big integer math to common/math ( #3699 )
8 years ago
default_genesis.go
core: remove support for Olympic network
8 years ago
error.go
Merge pull request #1889 from karalabe/fast-sync-rebase
9 years ago
events.go
core/vm: move Log to core/types
8 years ago
evm.go
core, core/vm: implemented a generic environment ( #3348 )
8 years ago
fees.go
Merge pull request #1515 from fjl/license-fixes
10 years ago
filter_test.go
all: fix license headers one more time
10 years ago
gaspool.go
all: update license information
9 years ago
genesis.go
common: move big integer math to common/math ( #3699 )
8 years ago
headerchain.go
all: unify big.Int zero checks, use common/math in more places ( #3716 )
8 years ago
helper_test.go
cmd/geth, cmd/utils, core, rpc: renamed to blockchain
9 years ago
state_processor.go
all: blidly swap out glog to our log15, logs need rework
8 years ago
state_transition.go
common: move big integer math to common/math ( #3699 )
8 years ago
tx_list.go
all: fix spelling errors
8 years ago
tx_list_test.go
core: abstract out a sorted transaction hash map
9 years ago
tx_pool.go
all: unify big.Int zero checks, use common/math in more places ( #3716 )
8 years ago
tx_pool_test.go
common: move big integer math to common/math ( #3699 )
8 years ago
types.go
core/vm: move Log to core/types
8 years ago