Home Page¶
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
perffor profiling and produces a cross-table with two builds per CPU event for comparison.
Features¶
Inspect CI, tests, benchmarks, build config and dependencies
Build with configured recipes and platforms
Run executables and collect timing and perf statistics
Produce a cross-table per CPU event
Performance cross-table example¶
The cross-table below was generated by running Amphimixis on a YAML project, comparing builds on RISC‑V and x86.
What does a cross-table contain? The cross-table displays gathered performance counter profiles, grouped by CPU event for each function, of the two builds for performance comparison.
See the Usage Examples for the complete walkthrough and tables.
Note: For readability, only the most significant rows per event are shown.
[unknown]symbols are omitted; one-sided0.00%values are kept because they point to symbols available on only one architecture.
EVENT: BRANCH-MISSES¶
Symbol |
2_2_2 (RISC-V) % |
1_1_1 (x86) % |
Delta % |
|---|---|---|---|
|
0.00 |
32.97 |
+32.97 |
|
25.75 |
0.00 |
-25.75 |
|
8.62 |
25.64 |
+17.02 |
|
0.00 |
6.38 |
+6.38 |
|
3.73 |
0.00 |
-3.73 |
¶
EVENT: CYCLES¶
Symbol |
2_2_2 (RISC-V) % |
1_1_1 (x86) % |
Delta % |
|---|---|---|---|
|
6.86 |
16.43 |
+9.56 |
|
12.25 |
3.27 |
-8.99 |
|
8.82 |
11.53 |
+2.71 |
|
2.45 |
4.94 |
+2.48 |
|
3.43 |
1.53 |
-1.90 |
What do
0.00%mean?0.00%values mean the symbol exists only on one architecture (e.g.__strncmp_evexAVX-512 on x86 vs scalarstrncmpon RISC-V) or the event is not available on RISC-V (cyclesis approximated by thecpu-clockevent).
Requirements¶
See the Usage Guide for the full list of required tools and system dependencies.
Quick Start¶
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/Amphimixis/amphimixis
amixis init local
amixis run /path/to/project --config local.yml