SocketAsyncContext.Unix: remove Lock from IsReady by tmds · Pull Request #36705 · dotnet/runtime (original) (raw)
I think overall the trends looks good then.
I'm struggling to see that. Can you elaborate? There was a notable increase in one benchmark on ARM, but two of the three shown regressed on AMD, two of the three regressed on Perf 12 cores, and while there was a measurable improvement in Fortunes Platform on citrine, there was an almost commensurate regression in Fortunes Batching on citrine.
Is it possible this was just a bad run of the metrics?
While I agree in theory removing a lock should be helpful, at the same time lock-freedom generally makes code more complex and harder to reason about and maintain, and so I'd only want to take such a change if we can prove to ourselves it really moves things in the right direction meaningfully.