runtime: Channel benchmark causes extremely high idle wake ups on macOS Sequoia #73055
Labels
BugReport
Issues describing a possible bug in the Go implementation.
compiler/runtime
Issues related to the Go compiler and/or runtime.
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Performance
Milestone
Go version
go version go1.24.1 darwin/arm64
Output of
go env
in your module/workspace:What did you do?
Running the following program on a recent macOS version with M3/M4 (Pro/Max):
What did you see happen?
The program itself behaves as expected. However, the macOS system monitor shows very high idle wake ups, like extremely high:
It's German language but the column "Reaktivierungen" is referring to the idle wake up count.
Dothing a similar program in Rust using tokio and async_channel behaves similar in runtime performance (a bit faster of course) but does not show similar idle wake ups.
This problem ALSO happens with a simple HTTP server and wrk as a load generator. The issue is described at the end of this issue: #49679
This points to a more general Go scheduler issue on macOS because it happens even without network.
What did you expect to see?
I would expect the idle wake up count to be low as there should not be a reason for wake ups.
The text was updated successfully, but these errors were encountered: