GitHub - pythonarcade/arcade-accelerate: An experimental module for accelerating parts of arcade
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 arcade
It is important to run the arcade-accelerate bootstrapping process before importing Arcade, otherwise the monkey-patched versions will not be fully applied.
Build / Setup
First create and activate a Python virtual environment, then install maturin:
Install 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 --release
Then 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 arcade
If 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.