Do you mean performance-based or feature-based comparison? Coz nothing has changed on the feature side — and IMO it’s the main point of this post. I.e. “async all the way” problem (+ all the related ones — like necessity to plan ahead what’s going to be async and what’s not) doesn’t exist in Go.

As for the performance, IMO it’s way less interesting + a lot depends on conditions. E.g. I’d guess async/await logic is going to be more expensive if you have to call such methods really frequently (~ ValueTask / AsyncEnumerable<T> scenario), and less expensive if it’s used more rarely. So maybe something like this is more handy here: https://www.techempower.com/benchmarks/ (unfortunately there are no recent results, + JSON support in .NET Core is in the middle of transformation).

I’ll share another post of the series soon though — this time it’s going to be on type system.

Creator of https://github.com/servicetitan/Stl.Fusion , ex-CTO @ ServiceTitan.com