Closed
Description
Alex Crichton, from the Rust Core team, gave a great presentation on Concurrency in Rust with Async I/O using Tokio at code::dive 2017. As soon as I watched your Deno talk, I thought about his. It is long, but I highly recommend watching it.
From his talk: Using a simple hello world benchmark, they achieved almost 2mil req/sec - nearly 250k more than the next best implementation and 500k more than Go's fasthttp. Out of the box, Tokio supports 'TCP, UDP, Unix sockets, Named pipes, processes, signals, http, http2, web sockets, ...'
Some observations (Some may be wrong and definitely missing some 😃):
- Mio crate handles all the OS async abstractions for you for each major platform bundled into Tokio. No re-inventing the wheel.
- They don't use callbacks like Node but futures and task-scheduling.
- Actual threadsafe concurrent/multi-threaded async operations and servers. See Rayon as well
- Async/await Rust syntax that might map well to V8/JS's async/await implementation.
- Rust is already poised for WebAssembly. Writing Deno in Rust, developers won't have to know Go as well.
- Rust is young but growing - voted most loved language for third year in a row Stack Overflow's yearly survey
- Tokio's thoughtful design appears to lend to extensible use cases and crates.
- Tokio is written and supported by members of the Rust Core team.
- No garbage collection
Thanks for the cool, new project and your time
Edit: Forgot to include no GC
Metadata
Metadata
Assignees
Labels
No labels