- Jul 01, 2020
-
-
Marius van der Wijden authored
List headers made up 11% of all allocations during sync. This change removes most of those allocations by keeping the list header values cached in the encoder buffer instead. Since encoder buffers are pooled, list headers are no longer allocated in the common case where an encoder buffer is available for reuse. Co-authored-by:
Felix Lange <fjl@twurst.com>
-
Adam Schmideg authored
This adds a regression test for the LES priority client API.
-
- Jun 30, 2020
-
-
Marius van der Wijden authored
* eth/downloaded: fixed datarace between synchronize and Progress There was a race condition between `downloader.synchronize()` and `Progress` `syncWithPeer` `fetchHeight` `findAncestors` and `processHeaders` This PR changes the behavior of the downloader a bit. Previously the functions `Progress` `syncWithPeer` `fetchHeight` `findAncestors` and `processHeaders` read the syncMode anew within their loops. Now they read the syncMode at the start of their function and don't change it during their runtime. * eth/downloaded: comment * eth/downloader: added comment
-
rene authored
-
Guillaume Ballet authored
-
Marius van der Wijden authored
* core, crypto: various allocation savings regarding tx handling * core: reduce allocs for gas price comparison This change reduces the allocations needed for comparing different transactions to each other. A call to `tx.GasPrice()` copies the gas price as it has to be safe against modifications and also needs to be threadsafe. For comparing and ordering different transactions we don't need these guarantees * core: added tx.GasPriceIntCmp for comparison without allocation adds a method to remove unneeded allocation in comparison to tx.gasPrice * core/types: pool legacykeccak256 objects in rlpHash rlpHash is by far the most used function in core that allocates a legacyKeccak256 object on each call. Since it is so widely used it makes sense to add pooling here so we relieve the GC. On my machine these changes result in > 100 MILLION less allocations and > 30 GB less allocated memory. * reverted some changes * reverted some changes * trie: use crypto.KeccakState instead of replicating code Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
Martin Holst Swende authored
This PR implements the EVM state transition tool, which is intended to be the replacement for our retesteth client implementation. Documentation is present in the cmd/evm/README.md file. Co-authored-by:
Felix Lange <fjl@twurst.com>
-
Binacs authored
* [cmd] Abstract `getPassPhrase` functions into one. * cmd/ethkey: fix compilation failure Co-authored-by:
rjl493456442 <garyrong0905@gmail.com>
-
meowsbits authored
Without use of global, these flags didn't actually modify miner configuration, since we weren't grabbing from the proper context scope, which should be global (vs. subcommand). Signed-off-by:
meows <b5c6@protonmail.com>
-
- Jun 26, 2020
-
-
Marius van der Wijden authored
* eth: returned revert reason in traceTx * eth: return result data
-
- Jun 24, 2020
-
-
meowsbits authored
The import command should not return a 0 status code if the import finishes prematurely becaues of an import error. Returning the error causes the program to exit with 1 if the err is non nil. Signed-off-by:
meows <b5c6@protonmail.com>
-
Marius van der Wijden authored
* core/vm: fix incorrect computation of discount During testing on Yolov1 we found that the way geth calculates the discount is not in line with the specification. Basically what we did is calculate 128 * Bls12381GXMulGas * discount / 1000 whenever we received more than 128 pairs of values. Correct would be to calculate k * Bls12381... for k > 128. * core/vm: better logic for discount calculation * core/vm: better calculation logic, added worstcase benchmarks * core/vm: better benchmarking logic
-
Marius van der Wijden authored
-
Gary Rong authored
* eth: don't block if transaction broadcast loop is returned * eth: kick out peer if we failed to send message * eth: address comment
-
Felix Lange authored
* crypto/secp256k1: enable use of __int128 This speeds up scalar & field calculations a lot. * crypto/secp256k1: enable endomorphism optimization
-
Felix Lange authored
These commands mirror the key/URL generation functions of cmd/bootnode. $ devp2p key generate mynode.key $ devp2p key to-enode mynode.key -ip 203.0.113.21 -tcp 30304 enode://78a7746089baf4b8615f54a5f0b67b22b1...
-
Péter Szilágyi authored
p2p: measure packet throughput too, not just bandwidth
-
Péter Szilágyi authored
-
- Jun 23, 2020
-
-
ucwong authored
-
- Jun 19, 2020
-
-
Guillaume Ballet authored
* common/fdlimit: build on DragonflyBSD * review feedback
-
AusIV authored
The ancients variable in the freezer is a list of hashes, which identifies all of the hashes to be frozen. The slice is being allocated with a capacity of `limit`, which is the number of the last block this batch will attempt to add to the freezer. That means we are allocating memory for all of the blocks in the freezer, not just the ones to be added. If instead we allocate `limit - f.frozen`, we will only allocate enough space for the blocks we're about to add to the freezer. On mainnet this reduces usage by about 320 MB.
-
- Jun 18, 2020
-
-
ucwong authored
* whisper : use timer.Ticker instead of sleep * lint: Fix linter error Co-authored-by:
Guillaume Ballet <gballet@gmail.com>
-
ucwong authored
-
- Jun 17, 2020
-
-
Gary Rong authored
* cmd, eth, internal, les: add gasprice cap * cmd/utils, eth: add default value for gasprice cap * all: use txfee cap * cmd, eth: add fix * cmd, internal: address comments
-
zhangsoledad authored
* fix(freezer): tailId filenum offset were misplaced * core/rawdb: assume first item in freezer always start from zero
-
- Jun 16, 2020
-
-
Péter Szilágyi authored
core: filter out txs with invalid signatures as soon as possible
-
- Jun 15, 2020
-
-
sixdays authored
Co-authored-by:
linjing <linjingjing@baidu.com>
-
- Jun 11, 2020
-
-
HackyMiner authored
-
Martin Holst Swende authored
-
- Jun 10, 2020
-
-
Yang Hau authored
speicifc -> specific assigened -> assigned frobenious -> frobenius
-
Gary Rong authored
* core, eth, internal: extend structLog tracer * core/vm, internal: add storage view * core, internal: add slots to storage directly * core: remove useless * core: address martin's comment * core/vm: fix tests
-
- Jun 09, 2020
-
-
Martin Holst Swende authored
* eth/downloader tests: fix spurious failing test due to race between receipts/headers * miner tests: fix travis failure on arm64 * eth/downloader: tests - store td in ancients too
-
Natsu Kagami authored
-
Pau authored
-
- Jun 08, 2020
-
-
Péter Szilágyi authored
core/state: avoid escape analysis fault when accessing cached state
-
Péter Szilágyi authored
-
Paweł Bylica authored
* core/vm: use fixed uint256 library instead of big * core/vm: remove intpools * core/vm: upgrade uint256, fixes uint256.NewFromBig * core/vm: use uint256.Int by value in Stack * core/vm: upgrade uint256 to v1.0.0 * core/vm: don't preallocate space for 1024 stack items (only 16) Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
ucwong authored
-
libby kent authored
-
Felix Lange authored
-