Go good reads
Go basically never frees heap memory back to the operating system
Go 1.20 Experiment: Memory Arenas vs Traditional Memory Management
Despite the tradeoffs, arena is a very cool feature.
DRAFT RELEASE NOTES — Introduction to Go 1.20
- Interesting for me
- Profile-guided optimization(PGO)
- Wrapping multiple errors
- Other links
Profiling and Execution Tracing in Go
- What I learned
- pprof can diff with
go tool pprof -http=:8080 -diff_base <file2> <file1>
- pprof can diff with
How to Write Accurate Benchmarks in Go
- Not resetting or pausing the timer
- Making wrong assumptions about micro-benchmarks
- Not being careful about compiler optimizations
- Being fooled by the observer effect
Obscure Go Optimisations - Bryan Boreham
- Take-aways
- Slice-to-interface cast will allocate.
- Heap allocation is costly.
- Generic methods are not fast.
- Heap Ballast is dead.
- Long live GOMEMLIMIT!
Fixing Memory Exhaustion Bugs in My Golang Web App
Go 메모리 관련 OOM 버그를 수정하는 여정에 관한 이야기
디버깅 과정을 상세하게 공유해 주고 있으며, 특히 Other lessons learned 와 Dead ends 파트에서 공유해준 내용에는 배울 점이 많습니다.
GopherCon 2021: Suzy Mueller - Debugging Treasure Hunt
- Log point is great.
- We can make a breakpoint with the function name.