workloads
Unsupported & Fallback
How Pyvorin handles code it cannot compile.
Published May 30, 2026
Execution Tiers
| Tier | Meaning |
|---|---|
COMPILED_FULL | Entire function compiled to native machine code. |
COMPILED_PARTIAL | Some regions compiled; others execute in CPython. |
COMPATIBILITY_EXECUTED | Entire function ran in CPython (fallback). |
UNSUPPORTED | Could not compile; compatibility execution used. |
Currently Unsupported Constructs
| Construct | Fallback Behaviour |
|---|---|
eval / exec / compile | Dynamic code generation falls back to CPython. |
| Custom metaclasses | Compatibility execution. |
| Complex multiple inheritance | Compatibility execution. |
| Direct mutation of C extension internals | Calls into NumPy, Pandas, etc. fall back gracefully. |
| GPU training / CUDA | Not applicable; use your ML framework directly. |
| Network-bound services | Compatibility execution (Python overhead is not the bottleneck). |
How Fallback Works
Before compilation, the AST is scanned for unsupported nodes. If any are found, the function is marked for fallback and runs in CPython transparently. Fallback is never silent — Pyvorin records the reason in the execution status.
Minimising Fallback
- Use supported types: int, float, list, dict, str, tuple.
- Avoid unsupported constructs in hot paths.
- Keep types stable across loop iterations.
- Run
pyvorin scan your_script.pyto identify risks.