runtime: use fast path when chan is closed and empty#77526
runtime: use fast path when chan is closed and empty#77526delichik wants to merge 1 commit intogolang:masterfrom
Conversation
|
This PR (HEAD: 812beeb) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/743781. Important tips:
|
|
Message from Gopher Robot: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/743781. |
|
Message from Jorropo: Patch Set 1: Commit-Queue+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/743781. |
|
Message from Go LUCI: Patch Set 1: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2026-02-10T14:50:01Z","revision":"9781d0e1ceeff3dd894dfe296d3078d5460f876f"} Please don’t reply on this GitHub thread. Visit golang.org/cl/743781. |
|
Message from Jorropo: Patch Set 1: -Commit-Queue (Posted by golang-scoped@luci-project-accounts.iam.gserviceaccount.com on behalf of jorropo.pgm@gmail.com) Please don’t reply on this GitHub thread. Visit golang.org/cl/743781. |
|
Message from Go LUCI: Patch Set 1: This CL has passed the run Please don’t reply on this GitHub thread. Visit golang.org/cl/743781. |
|
Message from Go LUCI: Patch Set 1: LUCI-TryBot-Result+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/743781. |
|
Message from Michael Pratt: Patch Set 1: Code-Review+1 Commit-Queue+1 (6 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/743781. |
|
Message from Go LUCI: Patch Set 1: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2026-02-24T00:00:03Z","revision":"9781d0e1ceeff3dd894dfe296d3078d5460f876f"} Please don’t reply on this GitHub thread. Visit golang.org/cl/743781. |
|
Message from Michael Pratt: Patch Set 1: -Commit-Queue (Performed by golang-scoped@luci-project-accounts.iam.gserviceaccount.com on behalf of mpratt@google.com) Please don’t reply on this GitHub thread. Visit golang.org/cl/743781. |
|
Message from Go LUCI: Patch Set 1: This CL has passed the run Please don’t reply on this GitHub thread. Visit golang.org/cl/743781. |
|
This PR (HEAD: 28a2fc1) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/743781. Important tips:
|
Check channel emptiness in recv regardless of blocking mode.
If the channel is empty and closed, recheck emptiness and
return immediately without acquiring the lock.
This improves receive performance on closed channels. The
only cost is one additional empty() check for normal
blocking receives, which is negligible compared to lock
acquisition.
Updates #77522