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:
cd <directory of arcade project>
pip install -e .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.