Hacker News new | ask | show | jobs
by new_stranger 1463 days ago
Assuming you don't need bare-level performance and Go is okay, I love how easy and approachable parallel code is with Go. Locks and channels each offer trade offs you can easily benchmark using the built in go test.

I've written so many different concurrent approaches to workers, pipelines, and multi-stage processing systems and found it always easy to reason through ways to limit the number of workers, prevent duplicate work, and implement backoffs.

1 comments

Go is full of concurrency pitfalls: https://eng.uber.com/data-race-patterns-in-go/

It makes concurrency easy, it doesn’t make concurrency correct easily.