docs: Rationalize wsjson buffer pooling and explain tradeoffs
- Dominant language
- Go
- Stars
- 5.5k
- Forks
- 372
- PR merge metrics
- No merged PRs in 30d
Description
I see that this library is using `sync.Pool` to pool buffers for wsjon sub-package. `sync.Pool` is suitable only for pooling objects of same size. If they are of different size, you have a problem: those buffers will just grow and grow never to shrink.
See https://github.com/golang/go/issues/23199 for more background.
Contributor guide
No contributing guide indexed for this repository
Research direction
Locate the wsjson sub-package and its sync.Pool buffer implementation, then read the linked Go issue about pooling objects of different sizes. Determine the current buffer-size behavior and document the tradeoffs of the available pooling approach. Done means the pooling strategy is rationalized and its limitations are explained.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- networking
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100