mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2025-01-09 12:31:21 +00:00
a6ad145f1f
- if provider is in-memory: do sort+flush in same goroutine - if provider is file-based: do sort+flush in another goroutine, and Load method will wait for unfinished goroutines and return error if one happened inside goroutine. Also in this case do pre-palloc of new buffer with `prevBufSize/8` size - because can't re-use prev buffer in this case. Reason: E4 has 8 etl collectors in same time (for domains/history/inverted_indices) and `sort.Stable` is kind-of bottleneck. |
||
---|---|---|
.github/workflows | ||
bptree | ||
chain | ||
commitment | ||
common | ||
compress | ||
crypto | ||
direct | ||
downloader | ||
etl | ||
gointerfaces | ||
kv | ||
mmap | ||
patricia | ||
pedersen_hash | ||
recsplit | ||
rlp | ||
sais | ||
state | ||
tools | ||
txpool | ||
types | ||
.gitignore | ||
.golangci.yml | ||
go.mod | ||
go.sum | ||
LICENSE | ||
Makefile | ||
README.md | ||
rules.go | ||
tools.go |
erigon-lib
Dependencies of Erigon project, rewritten from scratch and licensed under Apache 2.0
Dev workflow
In erigon folder create go.work file (it’s already in .gitignore)
go 1.20
use (
.
./../erigon-lib
)
Create PR in erigon-lib, don’t merge PR, refer from erigon to non-merged erigon-lib branch (commit) by: go get github.com/ledgerwatch/erigon-lib/kv@<commit_hash>
Create Erigon PR
When both CI are green - merge 2 PR. That’s it.