rustc-perf
gdnative
Our great sponsors
rustc-perf | gdnative | |
---|---|---|
26 | 93 | |
588 | 3,547 | |
4.8% | 0.3% | |
9.7 | 6.4 | |
6 days ago | 4 days ago | |
Rust | Rust | |
- | MIT License |
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.
rustc-perf
-
Adding runtime benchmarks to the Rust compiler benchmark suite
> what do people use to run benchmarks on CI?
Typically, you purchase/rent a server that does nothing but sequentially run queued benchmarks (and the size/performance of this server doesn't really matter, as long as the performance is consistent), then sends the report somewhere for hosting and processing. Of course, this could be triggered by something running in CI, and the CI job could wait for the results, if benchmarking is an important part of your workflow.
But CI and benchmarks really shouldn't be run on the same host.
> What does the rust project use?
It's not clear exactly where the Rust benchmark "perf-runner" is hosted, but here are the specifications of the machine at least: https://github.com/rust-lang/rustc-perf/blob/414230abc695bd7...
> What do other projects use?
Essentially what I described above, a dedicated machine that runs benchmarks. The Rust project seems to do it via GitHub comments (as I understand https://github.com/rust-lang/rustc-perf/tree/master/collecto...), others have API servers that respond to HTTP requests done from CI/chat, others have remote GUIs that triggers the runs. I don't think there is a single solution that everyone/most are using.
-
Can Rust's compile time match its runtime performance?
hmm really really hard to answer :'), it's tradeoffs I think, no matter what you think Rust (cmiiw, I'm not qualified to say this) has (and probably in the future will adds more with guards on compiler metrics https://perf.rust-lang.org/) several phases that given the diffs to other language, might not available to any language compiler out there, if it's available I think rustc already did their best in here (some already being parallized etc etc, might be wrong since I can't refs any reference MRs, but it does exists though labels regarding this)
-
How to catch performance regressions in Rust
About a year ago I was looking for a tool like Rust perf for my application code. I did some research and found a lot of prior art. However, nothing checked all the boxes I was looking for, so I built Bencher!
- Rust – Are We Game Yet?
-
Next Rust Compiler
https://www.pingcap.com/blog/rust-compilation-model-calamity... is a good overview. In general it varies depending on the crate but we track the performance at https://perf.rust-lang.org/ - if you look at cargo, for example, over 60% of the time is spent in codegen through LLVM: https://perf.rust-lang.org/detailed-query.html?commit=222d1f...
- Data-driven performance optimization with Rust and Miri
-
Generic associated types to be stable in Rust 1.65
Something like https://perf.rust-lang.org/?
-
This Week in Rust #463
The performance full-report link is dead: https://github.com/rust-lang/rustc-perf/blob/master/triage/2022-10-04.md
-
Are these misconceptions about rust?
Looking for better arguments, rustc might generate better IR because the compiler is more mature, has much more manpower, and has its performance [closely monitored[(https://perf.rust-lang.org/) and triaged. Zigc might generatte better IR because the language might be easier to generate IR for.
-
Show HN: Rust test harness that measures energy consumption
At the end of the day most people care about wall clock time. It's a real physical value that's easy to understand and easy to compare between systems. Plus, if two functions execute say, 1 billion instructions each, but one spends extra time stalled waiting for data fetches from RAM or doing IO, you definitely want to account for that in normal benchmarking.
Instruction counting is more of a specialized tool but I like to use it whenever I can because it has low variance and makes comparing changes a lot easier. Compare how bumpy these graphs are for instruction count (first link) and wall clock time (second link):
https://perf.rust-lang.org/?start=&end=&kind=raw&stat=wall-t...
gdnative
-
Non web-based crossplatform GUI frameworks focused on security
It's a little less standard use, but Godot has been used to build application guis, which could be paired with rust bindings to implement app logic. I can't speak to reproducibility/scalability, but Godot's ui is extremely solid, and I'd probably choose that over Bevy until Bevy's ui progress matures.
-
What is Rust's potential in game development?
Adding onto this, I successfully written a game in Godot using gdnative / gdext. I started with a split approach using gdscript and rust for CPU intensive but found that the API layer was slow at transferring large amounts of data (serialization?). I ended up rewriting it in all rust and it worked like a charm. I was able to target native and web assembly, the web assembly was much slower but worked on the browser.
-
Why is it so difficult to learn to use Bevy?
Check this: https://github.com/tomuxmon/bevy_roguelike if you are still into bevy. Scheduling is a bit bork and I have not found time to port it to latest bevy. But most of the systems should work fine(if used on latest bevy). But again. If you want faster result go with something like Godot. In fact, just go with Godot. It is mature, easy to start, no lock in(free and MIT license), a lot of learning material. Also with Godot you can also use Rust https://godot-rust.github.io/. Ditch Unity (do not have time to explain 😅). Have fun!
-
GDScript is fine
Bevy Godot-Rust
-
Rust – Are We Game Yet?
> Same for Godot.
While likely true that it's "Unlikely to ever be as supported" as the 4 officially supported languages[0] ("GDScript, C#, and, via its GDExtension technology, C and C++."), Godot's GDExtension technology is specifically intended for use in adding support for other languages.
The most relevant tracking issue for Rust is presumably:
* <https://github.com/godot-rust/gdnative/issues/824>
Which links to:
* <https://github.com/godot-rust/gdextension>
[0] https://docs.godotengine.org/en/4.0/getting_started/step_by_...
-
OK so whose gonna tell them
...Godot v3.x has Rust support via godot-rust and Godot v4.0 is released as of this month?
-
Godot 4.0 is out
I was curious, and looked it up. Nothing built in, but there's an interesting project that works with godot: https://godot-rust.github.io/
-
The langage for the next 40 years of engine dev
Curious why you think Rust would not work with a node-system like in Godot since there are already Rust-bindings for Godot. And while I can think of several reasons for not using Rust (I don't use it myself) I never thought the lack of inheritance would be an issue at all.
-
I want to make a game that’s compatible with Nintendo switch.
Also if you want to use this as an opportunity to learn Rust, take a look at godot-rust.
-
100,000 subscriber celebration – Ask the Godot contributors anything!
GDExtension is a platform, much like GDNative. It provides tools, but additional language bindings will still come from the community. For Godot Rust you can track the progress here: https://github.com/godot-rust/godot-rust/issues/824
What are some alternatives?
bevy - A refreshingly simple data-driven game engine built in Rust
Godot - Godot Engine – Multi-platform 2D and 3D game engine
RG3D - 3D and 2D game engine written in Rust [Moved to: https://github.com/FyroxEngine/Fyrox]
macroquad - Cross-platform game engine in Rust.
wgpu - Cross-platform, safe, pure-rust graphics api.
veloren - An open world, open source voxel RPG inspired by Dwarf Fortress and Cube World. This repository is a mirror. Please submit all PRs and issues on our GitLab page.
rapier - 2D and 3D physics engines focused on performance.
Amethyst - Data-oriented and data-driven game engine written in Rust
actors.unity - 🚀Actors is a framework empowering developers to make better games faster on Unity.
ecs - LeoECS is a fast Entity Component System (ECS) Framework powered by C# with optional integration to Unity
hecs - A handy ECS
Entitas - Entitas is a super fast Entity Component System (ECS) Framework specifically made for C# and Unity