v0.21: High-performance binary translations
High-performance binary translation support has now been added, with support for all platforms including Web. The exact process is documented here. The extension has also been upgraded to 4.3 in order to work around a bug in Web export.
We're seeing 6-30x performance improvements in benchmarks against GDScript.
- Binary translations can now be emitted at run-time and written to .cpp files, later to be embedded. They auto-activate by themselves.
- It's now possible to disable Docker usage completely. It's a project setting.
- Added initial support for tracing system calls. It's a compile-time flag for the moment.
- Avoid caching functions when loading Sandbox from buffer. Instant instantiation.
- Add a new resumable mode which lets you slowly initialize a Sandbox over many frames, if needed. Must not be called into, while doing this, as it will disable resumable mode.
What's Changed
- Enable binary translation support by @fwsGonzo in #161
- Upgrade to Godot v4.3 GDExtension API by @fwsGonzo in #163
- Add folder for translations, update libriscv by @fwsGonzo in #168
Full Changelog: v0.20...v0.21