Tackling contention: the monsters inside the `sync.Locker`

Go is all about parallelism and concurrency, but they don’t come for free. This talk is about measuring their contention price, and being able to reduce it.

Abstract

Go is all about parallelism and concurrency, but they don’t come for free. This talk is about measuring their contention price, and being able to reduce it. A deep dive on contention: what is it, when is it expensive, and how to tackle it. Some light will be shed on ways to measure the computational power wasted waiting. The trace/block and pprof tools and libraries will be explained with actionable examples. After showing how to find contention issues, some handy ways to address them will be shown: •Splitting work: different ways to change common algorithms to not have a centralized state. •From channels to mutexes: where it makes sense to make the switch, and why. •From mutexes to atomics: the real price of making this step, and how to make an informed choice about it.

Video

GoLab is a conference made by Develer.
Develer is a company based in Campi Bisenzio, near Florence. Our motto is : "Technology to give life to your products". We produce hardware and software to create exceptional products and to improve industrial processes and people's well being.
In Develer we have passion for the new technologies and we offer our clients effective solutions that are also efficient, simple and safe for the end users. We also believe in a friendly and welcoming environment where anybody can give their contribution. This passion and this vision are what we've been driven to organize our conference "made by developers for developers".


Subscribe to our newsletter

We hate spam just as much as you do, which is why we promise to only send you relevant communications. We respect your privacy and will never share your information with third parties.
©2024 GoLab | The international conference on Go in Florence-Design & devCantiere Creativo-Made withDatoCMS