Skip to content

Performance optimizations #11

@Bromeon

Description

@Bromeon

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 use impl AsVararg + passing as tuple, to allocate argument array on the stack

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureAdds functionality to the library

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions