An experimental library for accelerating Arcade using Rust. The module can be imported and monkey patch Arcade, replacing functions and types with rust versions.
import arcade_accelerate
arcade_accelerate.bootstrap()
import arcadeIt is important to run the arcade-accelerate bootstrapping process before importing Arcade, otherwise the monkey-patched versions will not be fully applied.
First create and activate a Python virtual environment, then install maturin:
pip install maturinInstall the crate as module in the current virtual environment using Maturin. Generally
when working on performance enhancements you will want to use the --release flag.
# Debug
maturin develop
# Release
maturin develop --releaseThen you can install Arcade into the same virtual environment
and run any of it's examples. Optimally testing should be done against the development branch of Arcade.
In order to enable arcade-accelerate add these two lines anytime before importing arcade. It is important that
the bootstrap is done prior to importing Arcade, otherwise the monkey-patched functions/classes will not fully apply.
import arcade_accelerate
arcade_accelerate.bootstrap()
import arcadeIf you would like to run Arcade's test suite with arcade-accelerate enabled, you can do so by setting the ARCADE_PYTEST_USE_RUST environment variable before running pytest on Arcade. You just need to ensure that both Arcade and arcade-accelerate are installed in the same environment.