RustTokioBenchmark
embryo-engine
RustTokioBenchmark | embryo-engine | |
---|---|---|
1 | 3 | |
0 | 15 | |
- | - | |
2.7 | 7.4 | |
about 1 month ago | 6 days ago | |
Rust | Rust | |
MIT License | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
RustTokioBenchmark
-
3 years of fulltime Rust game development, and why we're leaving Rust behind
> If you ever pull up a debugger and step through an async Rust/tokio codebase, you'll get a good sense for what the overhead here we're talking about is.
So I didn't quite do that, but the overhead was interesting to me anyway, and as I was unable to find existing benchmarks (surely they exist?), I instructed computer to create one for me: https://github.com/eras/RustTokioBenchmark
On this wee laptop the numbers are 532 vs 6381 cpu cycles when sending a message (one way) from one async thread to another (tokio) or one kernel thread to another (std::mpsc), when limited to one CPU. (It's limited to one CPU as rdtscp numbers are not comparable between different CPUs; I suppose pinning both threads to their own CPUs and actually measuring end-to-end delay would solve that, but this is what I have now.)
So this was eye-opening to me, as I expected tokio to be even faster! But still, it's 10x as fast as the thread-based method.. Straight up callback would still be a lot faster, of course, but it will affect the way you structure your code.
Improvements to methodology accepted via pull requests :).
embryo-engine
-
3 years of fulltime Rust game development, and why we're leaving Rust behind
Quick note: I'm actually very slowly prototyping something like this here: https://github.com/alexispurslane/embryo-engine/
I'm disabled so I don't have a lot of energy to work on it often, but, especially once I nail down the last few design issues, I'd really love help, or even just a few eyes on the project to encourage me ;)
- Camera controls in 3D
-
weirdly slow rendering for basically an example app?
I'm just using the direct unsafe bindings and then wrapping them in my own safe abstractions. You can see my code here: https://github.com/alexispurslane/opengl-project