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

Benchmark single-threaded, non-blocking TCP performance #6166

Closed
brson opened this issue May 2, 2013 · 5 comments
Closed

Benchmark single-threaded, non-blocking TCP performance #6166

brson opened this issue May 2, 2013 · 5 comments

Comments

@brson
Copy link
Contributor

brson commented May 2, 2013

After #6165, make some benchmarks to establish a networking performance baseline as we continue building out the parallel task scheduler.

@ghost ghost assigned brson May 2, 2013
@brson
Copy link
Contributor Author

brson commented Jun 23, 2013

Some benchmarks above, but need to do more. Not a blocker for 0.7

@msullivan
Copy link
Contributor

No progress on this, I assume? What is the best way to benchmark network performance for a library?

@alexcrichton
Copy link
Member

Today I toyed around a bit, and I just wrote some simple programs that was just a server sending a client a page of 0s at a time (continually). Rust averaged ~750MB/s while Go averaged ~530MB/s. I didn't check much else, but @thestinger got some numbers that indicated that C was almost 2x faster than Rust.

@thestinger
Copy link
Contributor

The performance gap doesn't seem incredibly important since it's very unrealistic that you'll actually need >2GiB/s bandwidth from a single thread. It was spending >70% of the time in an internal kernel copying routine at that point.

@thestinger
Copy link
Contributor

Rust doesn't have any truly non-blocking / AIO APIs, and #17325 means that something else needs to be written before there's anything to benchmark in the standard libraries.

bors added a commit to rust-lang-ci/rust that referenced this issue Oct 24, 2020
Suggest a compatible shell for setup-toolchain.sh

setup-toolchain.sh uses "[[" which is a bash builtin, but the guide
suggests running it with sh.  On Ubuntu, /bin/sh points to dash and
running the script fails.

---

*Please keep the line below*
changelog: none
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