-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Newsched TCP #6313
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
Newsched TCP #6313
Conversation
I don't have benchmark numbers yet, but I've started writing some. My preliminary test of pure write throughput has us slightly faster than node. This is essentially a test of scheduling and allocation overhead - how well we get out of the way and let the kernel move bytes around. In my test we spend 83% of our time in the kernel. I think that's encouraging. |
FYI I'm trying to resolve #6258 before landing this. |
We will just use RAII for now.
This ended up touching a lot of code related to error handling.
Make names that better match rt::io. Return error types.
Put all uv code under rt::uv, as if it were in its own crate. Pull local_sched out of rt::sched.
`position` and `rposition` belonged to `ImmutableCopyableVector`, but they don't need the value is copyable.
Eliminates a lot of calls to `close`
…ween Scheduler and Task Called 'Tube' for lack of anything better.
Conflicts: src/libcore/logging.rs src/libcore/rt/local_services.rs src/libcore/rt/uv/mod.rs src/libcore/rt/uv/net.rs src/libcore/rt/uv/uvio.rs src/libcore/unstable.rs
Closing this to open a new one with my most recent branch which contains a fix for a mac deadlock. |
…broto Fix FP in indirect `needless_collect` when used multiple times Fix rust-lang/rust-clippy#5991 Fix rust-lang/rust-clippy#6297 changelog: Fix FP in indirect `needless_collect` when used multiple times
This series mostly focused on implementing the TcpStream and TcpListener types (usage example). It isn't done, but several tests are working. The error handling strategy employed here is still the one I described a few weeks ago. It has received strong critique and will be changing.
There's also a lot of interspersed cleanup and docs.
Note that coretest on incoming is experiencing intermittent segfaults (#6258) for unknown reasons. I don't think this branch makes the situation worse, but it may by virtue of adding more scheduler tests.