Skip to content

pythonarcade/arcade-accelerate

Repository files navigation

arcade-accelerate

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:

pip 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. 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.

About

An experimental module for accelerating parts of arcade

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors