Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should this be merged to Go core? #1

Open
nikolaydubina opened this issue May 3, 2022 · 6 comments
Open

Should this be merged to Go core? #1

nikolaydubina opened this issue May 3, 2022 · 6 comments

Comments

@nikolaydubina
Copy link

If this is really fast and without downsides, should this be in Go core?

Maybe folks in go-dev google group will get interest.

@shubhang93
Copy link

I don’t think so, although it looks fast on paper, one of the biggest advantages of go’s native channel is the ability to select across multiple channels and broadcast using the close function

@nikolaydubina
Copy link
Author

nikolaydubina commented May 3, 2022

Select, Close, Broadcast sounds like additional features, possibly implemented without deteriorating performance boost?

I am very curious what are the drawbacks of this approach. If there are no clear problems, this can be big thing like Ryu or more recent pdqsort.

I think we are standing on something big here.

@nikolaydubina
Copy link
Author

cc @alphadose

@alphadose
Copy link
Owner

I have already opened an issue for it golang/go#52652

@alphadose
Copy link
Owner

alphadose commented May 3, 2022

We can gain even further optimizations by using runtime internal methods like gopark instead of spinning mechanism which is the current implementation thereby ensuring minimum required goroutine utilization without any performance drops

@MeteorsLiu
Copy link

MeteorsLiu commented May 5, 2023

Hope Go can really support this optimization. It's a certainly great project!
However, as far as i'm concerned, those guys in Google wonld't hear from people from the community most of time. That's a little bit tragedy. :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants