Documentation
Technical documentation for installing, configuring, and running the Pyvorin compiler.
Performance Guide
Pyvorin performance depends on how much of your program compiles to native code, the build mode, and the workload. General guidanceMeasure before optimizing. Use pyvorin compile app.py --report to find native coverage.Focus refactoring on hot loops and functions with high call counts.Use performance mode only after balanced mode produces correct results. Parallel compilationpyvorin compile app.py --threads=8Increase threads for large projects. The default is usually adequate for small scripts. Realistic expectationsPyvorin is most effective for CPU-bound Python code. I/O-bound programs may see smaller gains because network or disk latency dominates runtime.
Updated 1 month ago
Parallel Compilation
Pyvorin can compile independent modules in parallel to reduce build time. pyvorin compile app.py --threads=8 The optimal thread count depends on your CPU and project size. For small projects, more threads may not help. For large projects, values up to the number of physical cores are a reasonable starting point. Set a default in pyvorin.toml under build.threads.
Updated 1 month ago
Measuring Speedup
Measure speedup by comparing the native build against the same code running under CPython. time python app.py time ./build/app Use representative inputs and warm up caches. Reported compile metrics in the Portal show native coverage and estimated speedup over time, but real-world results depend on your workload.
Updated 1 month ago
CPU-Bound Workloads
CPU-bound programs are the most likely to benefit from native compilation. Examples include numerical loops, data transformation, parsing, and simulation. Native code removes interpreter overhead for supported constructs, which can reduce runtime significantly when the same hot path executes many times. Use performance mode after validating correctness to maximize throughput.
Updated 1 month ago
I/O-Bound Workloads
I/O-bound programs spend most of their time waiting for network, disk, or external services. Native compilation may reduce startup time and parsing overhead, but it cannot remove network latency or disk waits. Programs dominated by I/O are less likely to show large speedups. Measure end-to-end performance rather than relying on native coverage percentage alone.
Updated 1 month ago