- Jul 24, 2020
-
-
Gary Rong authored
core: address comment
-
villanuevawill authored
Solves issue#20582. Non-executable transactions should not be evicted on each tick if there are no promote transactions or if a pending/reset empties the pending list. Tests and logging expanded to handle these cases in the future. core/tx_pool: use a ts for each tx in the queue, but only update the heartbeat on promotion or pending replaced queuedTs proper naming
-
- Jul 06, 2020
-
-
Felix Lange authored
This change further improves the performance of RLP encoding by removing allocations for big.Int and [...]byte types. I have added a new benchmark that measures RLP encoding of types.Block to verify that performance is improved.
-
- Jul 04, 2020
-
-
Martin Holst Swende authored
-
- Jul 03, 2020
-
-
meowsbits authored
Exposing /debug/metrics and /debug/metrics/prometheus was dependent on --pprof, which also exposes other HTTP APIs. This change makes it possible to run the metrics server on an independent endpoint without enabling pprof.
-
Gary Rong authored
This PR reduces the bandwidth used by the light client to compute the recommended gas price. The current mechanism for suggesting the price is: - retrieve recent 20 blocks - get the lowest gas price of these blocks - sort the price array and return the middle(60%) one This works for full nodes, which have all blocks available locally. However, this is very expensive for the light client because the light client needs to retrieve block bodies from the network. The PR changes the default options for light client. With the new config, the light client only retrieves the two latest blocks, but in order to collect more sample transactions, the 3 lowest prices are collected from each block. This PR also changes the behavior for empty blocks. If the block is empty, the lastest price is reused for sampling.
-
- Jul 02, 2020
-
-
Martin Holst Swende authored
* les/checkpointoracle: don't lookup checkpoint more than once per second * les/checkpoint/oracle: change oracle checktime to 1 minute
-
Martin Holst Swende authored
* console: prevent importRawKey from getting into CLI history * internal/ethapi: error on keystore-methods when no keystore is present
-
Martin Holst Swende authored
-
- Jul 01, 2020
-
-
Martin Holst Swende authored
* rpc, internal/ethapi: default rpc gascap at 50M + better error message * eth,internal: make globalgascap uint64 * core/tests: fix compilation failure * eth/config: gascap at 25M + minor review concerns
-
Marius van der Wijden authored
* core: use uint64 for total tx costs instead of big.Int * core: added local tx pool test case * core, crypto: various allocation savings regarding tx handling * Update core/tx_list.go * core: added tx.GasPriceIntCmp for comparison without allocation adds a method to remove unneeded allocation in comparison to tx.gasPrice * core: handle pools full of locals better * core/tests: benchmark for tx_list * core/txlist, txpool: save a reheap operation, avoid some bigint allocs Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
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
-