Go has several powerful and eye-catching memory management features, such as its highly performant garbage collection and accurate escape analysis. By leveraging these features, Gophers can develop their applications efficiently without worrying about the memory allocation and management stuff in general cases. Therefore, Go is suitable for building Web-backend or cloud-native software. However, when it comes to building high-performance and data-intensive Go applications, garbage collection is still problematic since high pressure and unacceptable stop-the-wall time.
In this talk, the author will introduce the memory management approaches used for high-performance and data-intensive Go applications by reviewing a Go project - Pebble, an underlying key-value storage engine used by a well-known Go database system - CockroachDB.
About Jalex Chang
An enthusiastic hacker who loves database and distributed systems.