Amphimixis Documentation

Amphimixis is an automated project intelligence and evaluation tool for performance and migration readiness. It helps inspect a project for existing infrastructure such as CI, tests, benchmarks, dependencies, and build scripts, then runs builds and collects performance data for further comparison.

Amphimixis uses perf for profiling and produces a cross-table with two builds per CPU event for comparison.

Quick Run

If you want to try Amphimixis right away, create a virtual environment, install the package from GitHub, and run the full pipeline on a target project:

python3 -m venv .venv
source .venv/bin/activate
pip install git+https://github.com/ebzych/amphimixis.git@stable
amixis init local
amixis run /path/to/project --config local.yml

Requirements

  • Python 3.12 or later

  • Linux

  • rsync on each machine

  • sshpass on the machine where you run Amphimixis if you connect to remote machines with passwords

  • perf on each run_machine

  • perf archive on each run_machine

  • a supported build setup in the target project: CMake as the build system and Make as the low-level runner

What Amphimixis Does

Amphimixis can:

  • analyze a project for CI, tests, benchmarks, build system configuration, and dependencies;

  • build the project with configured recipes and platforms;

  • profile executable runs and collect timing and perf-based statistics;

  • compare profiling outputs produced for different builds and put them into a cross-table for each CPU event.

User Guides

Main Workflows

Supporting Modules