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

x/sys/unix: add support for sending bulk udp packets #15663

Closed
hedwigz opened this issue May 12, 2016 · 2 comments
Closed

x/sys/unix: add support for sending bulk udp packets #15663

hedwigz opened this issue May 12, 2016 · 2 comments
Labels
compiler/runtime Issues related to the Go compiler and/or runtime.
Milestone

Comments

@hedwigz
Copy link

hedwigz commented May 12, 2016

I wrote a custom file transfer application that uses udp over a one-way-connection (packets can only go one way from sender to receiver)
I used UdpConn.Write() for each packet. It works fine for 1Gbit connection but once you start
working on 10Gbit connections you can see that the syscall overhead starts to impact performance (you actually can't use the whole 10Gbit connection on some servers).
anyway there are apis for windows and linux to send more than one packet in one syscall.
I didn't dive deeply into linux's api but in windows I wrote a POC using the TransmtPackets function.
anyways I suggest adding this feature of sending multiple packets in one syscall, atleast for UDP at first.

@hedwigz
Copy link
Author

hedwigz commented May 12, 2016

here's an example code https://play.golang.org/p/kFQhC5v3kW

@bradfitz bradfitz changed the title add support for bulk udp packets send x/sys/unix: add support for sending bulk udp packets May 12, 2016
@bradfitz bradfitz added this to the Unreleased milestone May 12, 2016
@bradfitz
Copy link
Contributor

This is the sort of thing we would add to golang.org/x/sys instead of the core.

@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Jul 7, 2022
@hedwigz hedwigz closed this as completed Sep 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler/runtime Issues related to the Go compiler and/or runtime.
Projects
None yet
Development

No branches or pull requests

3 participants