ChainSafe / ChainSafe/gossamer
Investigate codebase for memory problems
- Dominant language
- Go
- Stars
- 454
- Forks
- 144
- PR merge metrics
- No merged PRs in 30d
Description
This is more of low hanging fruits that can be worth checking/fixing before investing more time in profiling and metrics, to fix the current memory issue we have (2021-11-03).
- [x] Check usage of `bytes.Buffer` (local branch)
- [x] Check usage of pools
- [ ] Check usage of `copy`
- [ ] Check buffered channels (using regex `make\(chan .+, [1-9].+\)`)
- [x] Check DeepCopy functions (search for `deepcopy` without case sensitivity)
- [x] Check usage of `sizedBufferPool` - found a problem, fixed in #1963, although not a reason for OOM
- [ ] Check for arrays returned (copy, it's not a slice), use regex ` \[[a-zA-Z0-9]+\](byte|int|uint|uint32|uint64|int32|int64|string)+?`
- [ ] Check packages
- [ ] `dot/network`
- [x] `lib/trie`
- [ ] `dot/sync`
Contributor guide
Assessment
This issue has not been assessed yet.