I poked at your profiles (diffing them) but my only guess is that it's a compiler change that's the culprit. (For future reference, I produced this output with the
A couple questions just so we're on the same page:
- Are you certain these two profiles were produced from the same source code?
- Are you certain these two profiles represent the same amount of logical work being done? (As an example, in the context of a web service, I wouldn't want to measure 30s of traffic, but rather N identical requests handled to make an apples-to-apples comparison.)
If yes to both, then I think my conclusion is that this is probably the result of a compiler change, given that the flat time increases all seem to come from "user" code (as opposed to, say, runtime code).
Do you have a reproducer? It might be worth filing a GitHub issue at this point. (
https://github.com/golang/go/issues/new/choose)
Thanks,
Michael