High-load CGo: calling nonblocking C/C++ code without surprise ☠️
summary
Explains pitfalls and techniques for calling non-blocking C/C++ code from Go using cgo, focusing on issues that arise with asynchronous OS operations and heavy CPU tasks (compression, crypto, math). Describes how to avoid unexpected blocking and performance problems when integrating C/C++ libraries into high-load Go applications.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 0:33CGo load problems
- 5:57CGo mechanism in Go
- 10:18Goroutine carousel issue
- 13:54Solution: goroutine limiting
- 17:26Solution: blocking calls
- 20:58Method comparison and benchmarks
- 23:29Summary and recommendations
- 24:54Q&A
related talks
34mHigh-Load CGo: Calling Nonblocking C/C++ Code Without Surprise
34mGolang: Specific Performance Issues
46mOptimizing Concurrent Applications
45mGo(lang) to Python
30mGo Faster: Integrating CUDA in Go for GPU Acceleration
31mThe Road to CGO-Less is Paved
26mGo is Boring... And That's Fantastic!
46mSimplifying Scalable Cloud Application Development with Go
