RustTokioBenchmark
rust-ecosystem
RustTokioBenchmark | rust-ecosystem | |
---|---|---|
1 | 8 | |
0 | 866 | |
- | 0.9% | |
2.7 | 5.5 | |
about 2 months ago | about 2 months ago | |
Rust | Rust | |
MIT License | Apache 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 :).
rust-ecosystem
- 3 years of fulltime Rust game development, and why we're leaving Rust behind
-
Rust – Are We Game Yet?
These are issues that I'm aware of that are "tracking" the status of Rust on console:
* <https://github.com/rust-gamedev/wg/issues/90>
* <https://github.com/EmbarkStudios/rust-ecosystem/issues/18>
I say scare quote tracking because due to the nature of console NDAs it's unlikely you'll see much if any useful details in an open public forum.
The issues aren't dissimilar to those facing Godot (although it has the benefit it's able to use existing C++ compilers) and the project has previously outlined some of the issues involved:
* <https://docs.godotengine.org/en/4.0/tutorials/platform/conso...>
* <https://godotengine.org/article/godot-consoles-all-you-need-...>
The current "solution" seems to be console-related development activity occurring via the recently established W4 Games (https://w4games.com/2023/02/28/godot-support-for-consoles-is...) but that's obviously never going to be openly developed without console platform approval (same as any other game engine).
- Useful Clippy lint rules outside of defaults?
- More use of Rust is inevitable in open source software
- How I got involved in the Rust community
-
What's the advantages of Rust over C/C++ today ? Is it possible to create the best 3d engine in Rust or a AAA game like Elden Ring, FF7 remake, GTA etc with it ? If it's possible why it asn't been done yet ?
Some companies are betting on Rust, like Embark Studio (though I'm not sure their next big game, ARC Raiders, is actually fully based on Rust... but it will come !)
-
Why haven't the community created an open-source version of this game?
Next generation uses Rust https://github.com/EmbarkStudios/rust-ecosystem
- Embark Rust Ecosystem
What are some alternatives?
downlords-faf-client - Official client for Forged Alliance Forever
gdextension - Rust bindings for Godot 4 [Moved to: https://github.com/godot-rust/gdext]
rx - 👾 Modern and minimalist pixel editor
bevy - A refreshingly simple data-driven game engine built in Rust
sqlite3-ocaml - OCaml bindings to the SQLite3 database
oxidator - RTS game/engine in Rust and WebGPU
gdnative - Rust bindings for Godot 3
wg - Coordination repository of the Game Development Working Group
unreal-rust - Rust integration for Unreal Engine 5
feather - A Minecraft server implementation in Rust
rustc-perf - Website for graphing performance of rustc
wg - Coordination repository of the embedded devices Working Group