mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 23:26:44 +00:00
* Create MVHashMap and use it StateDB * Parallel state processor * Move fee burning and tipping out of state transition to reduce read/write dependencies between transactions * Re-execute parallel tasks when there is a read in coinbase or burn address * Block-stm optimization Added tests for executor and two major improvements: 1. Add a dependency map during execution. This will prevent aborted tasks from being sent for execution immedaitely after failure. 2. Change the key of MVHashMap from string to a byte array. This will reduce time to convert byte slices to strings. * Remove cache from executor test * added mvhashmap unit tests (with as key) * Shard mvhashmap to reduce the time spent in global mutex * Skip applying intermediate states * Dependency improvement * added test for status * Create MVHashMap and use it StateDB * Parallel state processor * Move fee burning and tipping out of state transition to reduce read/write dependencies between transactions * Re-execute parallel tasks when there is a read in coinbase or burn address * Txn prioritizer implemented using mutex map (#487) * basic txn prioritizer implemented using mutex map * Re-execute parallel tasks when there is a read in coinbase or burn address * Re-execute parallel tasks when there is a read in coinbase or burn address * using *sync.RWMutex{} in mutexMap Co-authored-by: Jerry <jerrycgh@gmail.com> * added getReadMap and getWriteMap (#473) * Block-stm optimization Added tests for executor and some improvements: 1. Add a dependency map during execution. This will prevent aborted tasks from being sent for execution immedaitely after failure. 2. Change the key of MVHashMap from string to a byte array. This will reduce time to convert byte slices to strings. 3. Use sync.Map to reduce the time spent in global mutex. 4. Skip applying intermediate states. 5. Estimate dependency when an execution fails without dependency information. 6. Divide execution task queue into two separate queues. One for relatively certain transactions, and the other for speculative future transactions. 7. Setting dependencies of Txs coming from the same sender before starting parallel execution. 8. Process results in their semantic order (transaction index) instead of the order when they arrive. Replace result channel with a priority queue. * Do not write entire objects directly when applying write set in blockstm * fixed a small bug in the Report function (#530) * linters Co-authored-by: Jerry <jerrycgh@gmail.com>
148 lines
6.8 KiB
Modula-2
148 lines
6.8 KiB
Modula-2
module github.com/ethereum/go-ethereum
|
|
|
|
go 1.19
|
|
|
|
require (
|
|
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0
|
|
github.com/BurntSushi/toml v1.1.0
|
|
github.com/JekaMas/crand v1.0.1
|
|
github.com/JekaMas/go-grpc-net-conn v0.0.0-20220708155319-6aff21f2d13d
|
|
github.com/VictoriaMetrics/fastcache v1.6.0
|
|
github.com/aws/aws-sdk-go-v2 v1.2.0
|
|
github.com/aws/aws-sdk-go-v2/config v1.1.1
|
|
github.com/aws/aws-sdk-go-v2/credentials v1.1.1
|
|
github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1
|
|
github.com/btcsuite/btcd/btcec/v2 v2.1.2
|
|
github.com/cespare/cp v0.1.0
|
|
github.com/cloudflare/cloudflare-go v0.14.0
|
|
github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f
|
|
github.com/davecgh/go-spew v1.1.1
|
|
github.com/deckarep/golang-set v1.8.0
|
|
github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf
|
|
github.com/dop251/goja v0.0.0-20211011172007-d99e4b8cbf48
|
|
github.com/edsrzf/mmap-go v1.0.0
|
|
github.com/fatih/color v1.7.0
|
|
github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5
|
|
github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff
|
|
github.com/go-stack/stack v1.8.0
|
|
github.com/golang-jwt/jwt/v4 v4.3.0
|
|
github.com/golang/mock v1.6.0
|
|
github.com/golang/protobuf v1.5.2
|
|
github.com/golang/snappy v0.0.4
|
|
github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa
|
|
github.com/google/uuid v1.2.0
|
|
github.com/gorilla/websocket v1.4.2
|
|
github.com/graph-gophers/graphql-go v1.3.0
|
|
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0
|
|
github.com/hashicorp/go-bexpr v0.1.10
|
|
github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d
|
|
github.com/hashicorp/hcl/v2 v2.10.1
|
|
github.com/heimdalr/dag v1.2.1
|
|
github.com/holiman/bloomfilter/v2 v2.0.3
|
|
github.com/holiman/uint256 v1.2.0
|
|
github.com/huin/goupnp v1.0.3-0.20220313090229-ca81a64b4204
|
|
github.com/imdario/mergo v0.3.11
|
|
github.com/influxdata/influxdb v1.8.3
|
|
github.com/influxdata/influxdb-client-go/v2 v2.4.0
|
|
github.com/jackpal/go-nat-pmp v1.0.2
|
|
github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e
|
|
github.com/julienschmidt/httprouter v1.3.0
|
|
github.com/karalabe/usb v0.0.2
|
|
github.com/maticnetwork/polyproto v0.0.2
|
|
github.com/mattn/go-colorable v0.1.8
|
|
github.com/mattn/go-isatty v0.0.12
|
|
github.com/mitchellh/cli v1.1.2
|
|
github.com/mitchellh/go-homedir v1.1.0
|
|
github.com/olekukonko/tablewriter v0.0.5
|
|
github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7
|
|
github.com/prometheus/tsdb v0.7.1
|
|
github.com/rjeczalik/notify v0.9.1
|
|
github.com/rs/cors v1.7.0
|
|
github.com/ryanuber/columnize v2.1.2+incompatible
|
|
github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible
|
|
github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4
|
|
github.com/stretchr/testify v1.8.0
|
|
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7
|
|
github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef
|
|
github.com/xsleonard/go-merkle v1.1.0
|
|
go.opentelemetry.io/otel v1.2.0
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.2.0
|
|
go.opentelemetry.io/otel/sdk v1.2.0
|
|
go.uber.org/goleak v1.1.12
|
|
golang.org/x/crypto v0.0.0-20220507011949-2cf3adece122
|
|
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4
|
|
golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10
|
|
golang.org/x/text v0.3.7
|
|
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba
|
|
golang.org/x/tools v0.1.12
|
|
gonum.org/v1/gonum v0.11.0
|
|
google.golang.org/grpc v1.48.0
|
|
google.golang.org/protobuf v1.28.0
|
|
gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce
|
|
gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6
|
|
gopkg.in/urfave/cli.v1 v1.20.0
|
|
gotest.tools v2.2.0+incompatible
|
|
pgregory.net/rapid v0.4.8
|
|
)
|
|
|
|
require github.com/orcaman/concurrent-map/v2 v2.0.0 // indirect
|
|
|
|
require (
|
|
github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1 // indirect
|
|
github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3 // indirect
|
|
github.com/Masterminds/goutils v1.1.0 // indirect
|
|
github.com/Masterminds/semver v1.5.0 // indirect
|
|
github.com/Masterminds/sprig v2.22.0+incompatible // indirect
|
|
github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 // indirect
|
|
github.com/agext/levenshtein v1.2.1 // indirect
|
|
github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect
|
|
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310 // indirect
|
|
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/sso v1.1.1 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/sts v1.1.1 // indirect
|
|
github.com/aws/smithy-go v1.1.0 // indirect
|
|
github.com/bgentry/speakeasy v0.1.0 // indirect
|
|
github.com/cenkalti/backoff/v4 v4.1.1 // indirect
|
|
github.com/cespare/xxhash/v2 v2.1.1 // indirect
|
|
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect
|
|
github.com/deepmap/oapi-codegen v1.8.2 // indirect
|
|
github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91 // indirect
|
|
github.com/emirpasic/gods v1.18.1
|
|
github.com/go-kit/kit v0.9.0 // indirect
|
|
github.com/go-logfmt/logfmt v0.5.0 // indirect
|
|
github.com/go-ole/go-ole v1.2.1 // indirect
|
|
github.com/go-sourcemap/sourcemap v2.1.3+incompatible // indirect
|
|
github.com/google/go-cmp v0.5.8 // indirect
|
|
github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
|
|
github.com/hashicorp/errwrap v1.0.0 // indirect
|
|
github.com/hashicorp/go-multierror v1.0.0 // indirect
|
|
github.com/huandu/xstrings v1.3.2 // indirect
|
|
github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097 // indirect
|
|
github.com/kylelemons/godebug v1.1.0 // indirect
|
|
github.com/mattn/go-runewidth v0.0.9 // indirect
|
|
github.com/mitchellh/copystructure v1.0.0 // indirect
|
|
github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7 // indirect
|
|
github.com/mitchellh/mapstructure v1.4.1 // indirect
|
|
github.com/mitchellh/pointerstructure v1.2.0 // indirect
|
|
github.com/mitchellh/reflectwalk v1.0.0 // indirect
|
|
github.com/opentracing/opentracing-go v1.1.0 // indirect
|
|
github.com/pelletier/go-toml v1.9.5 // indirect
|
|
github.com/pkg/errors v0.9.1 // indirect
|
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
|
github.com/posener/complete v1.1.1 // indirect
|
|
github.com/tklauser/go-sysconf v0.3.5 // indirect
|
|
github.com/tklauser/numcpus v0.2.2 // indirect
|
|
github.com/zclconf/go-cty v1.8.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.2.0 // indirect
|
|
go.opentelemetry.io/otel/trace v1.2.0 // indirect
|
|
go.opentelemetry.io/proto/otlp v0.10.0 // indirect
|
|
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect
|
|
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
|
|
golang.org/x/net v0.0.0-20220728030405-41545e8bf201 // indirect
|
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
|
|
golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect
|
|
google.golang.org/genproto v0.0.0-20220725144611-272f38e5d71b // indirect
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
|
)
|