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

Open
amits1995 opened this issue May 12, 2016 · 2 comments

Comments

@amits1995
Copy link

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.

@amits1995

This comment has been minimized.

Copy link
Author

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

This comment has been minimized.

Copy link
Member

commented May 12, 2016

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.