Supported Workloads
Pyvorin compiles CPU-heavy Python to native code. Not everything is a perfect fit - here is an honest map of what works best, what works less well, and what we do not yet support.
Best-Fit Workloads
These patterns consistently show the highest speedups in our benchmark suite. If your code spends most of its time in these operations, Pyvorin is likely to deliver significant gains.
ETL Filter & Map
Row filtering, column mapping, and simple transforms over structured data. 100×–1,000×+ proven.
Group-By Aggregations
Grouping and reduction operations over in-memory datasets. 1,000×+ proven.
Rolling Window Analysis
Sliding-window statistics, moving averages, and cumulative computations. 4,000×+ proven.
Finance Kernels
Option pricing, risk calculations, discounting, and Monte-Carlo loops. 10×–150×+ proven.
Timestamp Processing
Parsing, formatting, and arithmetic on date-time objects in tight loops.
CPU-Heavy Python Sections
Any hot path dominated by Python-level loops, numerics, and conditionals rather than I/O or C extensions.
Internal Data Pipelines
End-to-end data pipelines where Python orchestrates transforms and reductions.
String Tokenisation
Splitting, scanning, and simple lexical analysis over text. ~500× proven.
Log Parsing
Regex-free line scanning and field extraction from large log files. 74×+ proven.
Weak-Fit Workloads
These scenarios are either outside Pyvorin's current scope or intrinsically limited by hardware boundaries rather than the Python interpreter.
Pure I/O Wait
Scripts that spend most of their time waiting on disk, network, or database responses will see little benefit from CPU compilation.
Unsupported Third-Party Library Internals
Pyvorin accelerates your Python code, not the C/C++/Fortran internals of libraries such as NumPy, Pandas, or TensorFlow.
Already-Vectorised Native Code
Workloads already running inside heavily optimised BLAS, MKL, or SIMD loops cannot be accelerated further by compiling the Python wrapper.
GPU-Only Training
Pyvorin targets CPU execution. GPU-bound training loops are not within scope.
Network-Bound Scripts
Microservices, API clients, or chat bots whose latency is dominated by round-trip times will not speed up meaningfully.
Supported Python Subset
Pyvorin's compiler covers the most common constructs used in data pipelines and numerical scripts. If a construct is unsupported, the system falls back to standard CPython execution.
Supported Features
| Feature | Notes |
|---|---|
| Loops | for, while, range, enumerate, zip |
| Conditionals | if/elif/else, and, or, not |
| Basic Functions | User-defined functions, recursion (limited depth) |
| Simple Classes | Attribute access, simple methods, __init__ |
| Lists | Indexing, appending, slicing, comprehensions |
| Dictionaries | Key access, insertion, iteration, get() |
| Strings | Concatenation, splitting, slicing, formatting |
| Numerics | int, float, basic arithmetic, comparisons |
| Tuples | Packing, unpacking, indexing |
Currently Unsupported
| Feature | Fallback Behaviour |
|---|---|
| Advanced OOP | Descriptors, multiple inheritance, metaclasses |
| Metaclasses | Fully unsupported - triggers fallback |
| async / await | Not yet in the compiler pipeline |
| eval / exec | Dynamic code execution is unsupported |
| Some Built-ins | Complex reflection, frame manipulation |
| C Extensions | Calls into Cython / C / C++ remain external |
Strict Mode & Fallback
Pyvorin operates in strict compilation mode by default. If the compiler encounters a language feature it does not yet support, it does not silently ignore it. Instead, it falls back to standard CPython execution for that specific function or block.
This means your code always runs correctly - it simply runs at CPython speed for unsupported paths until the compiler catches up. You can inspect fallback reports in the dashboard to see exactly which lines triggered fallback.
Correctness Guarantee
Every compiled result is verified against CPython output. If the native result differs, Pyvorin automatically falls back and logs the discrepancy. Speed is worthless if the answer is wrong.