Performance optimizations · Issue #11 · godot-rust/gdext (original) (raw)
Navigation Menu
- GitHub Copilot Write better code with AI
- GitHub Models New Manage and compare prompts
- GitHub Advanced Security Find and fix vulnerabilities
- Actions Automate any workflow
- Codespaces Instant dev environments
- Issues Plan and track work
- Code Review Manage code changes
- Discussions Collaborate outside of code
- Code Search Find more, search less
- Explore
- Pricing
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Appearance settings
Description
There are some low-hanging fruits for making the library faster, this issue tracks such approaches.
Codegen
- Check
rustfmt
performance -- parallelize or allow skipping - Cache intermediate results in
Context
, e.g.to_rust_type
Runtime
- Cache function pointers used by engine + builtin classes in a global method table
- Provide maximum type information to GDScript, so it can use ptrcalls whenever possible
- Benchmark if
#[inline]
has a true impact (otherwise don't clutter the whole codebase) - Varargs (e.g.
Object::call
) could useimpl AsVararg
+ passing as tuple, to allocate argument array on the stack