Python is slow. Very slow on loops. A simple for with 50 million iterations takes seconds.
Benchmark: CPython vs FormulaPy (final.py)
FormulaPy solves this problem. It:
- Analyzes your Python code with a C++ core
- Finds loops (
for,while) and JIT-compatible functions - Injects
@_formulapy_jitautomatically - Compiles hot functions with Numba JIT
- Keeps Python warm with a background daemon
Who it's for: Python developers, data scientists, script authors, anyone who wants faster Python.
FormulaPy does not change your code. It works as a wrapper β you run formulapy script.py instead of python script.py.
Warning
Caution
Official sources are only those that are in the profile 2M12. I do not post anything on Telegram channels/groups or other sources. If you come across something outside of this repository, these are false copies that often contain malware.
Note
- Speedup depends on the code: loops with pure integer operations get the biggest boost.
- The tool is provided as is.
- Primary focus is numerical code β strings and file I/O are not JIT-accelerated yet.
- The first run with JIT may be slower (Numba compiles), repeated runs are much faster.
- The daemon keeps Python and libraries in memory for instant startup.
- Automatic detection of
forandwhileloops. - C++ core injects
@_formulapy_jitinto suitable functions. - Numba JIT compiles hot functions to machine code.
- Safe fallback to Python if Numba fails.
- Fast code parsing β C++ replaces slow Python
ast.parse. - JIT injection β decorators inserted at C++ speed.
- FNV-1a hashing β quick cache keys for bytecode.
- Version detection β core version reporting.
- Background process on
127.0.0.1:8765. - Keeps Python and Numba imported in memory.
- Executes scripts without interpreter startup delay.
- Handles multiple connections in parallel.
- Bytecode caching for repeated runs.
- JIT cache via Numba.
- Cache management with
--clearcache.
- Numba β CPU JIT for numerical code.
- Numba CUDA β GPU JIT (requires NVIDIA GPU).
- JAXβ JAX JIT (experimental).
- --nojit β disable JIT entirely.
- Checks Python version.
- Checks Core DLL availability.
- Checks daemon status.
- Checks cache directory.
Running a script with JIT and daemon
Warning
- Does not accelerate strings and file I/O (yet).
- int64 overflow may occur with very large numbers in JIT mode.
- First JIT run is slower due to compilation.
- GUI/COM scripts are not JIT-compatible.
- Virtual machines may not show speedup.
- Download
FormulaPy-x86-x64-v1.0.0.zipfrom Releases. - Extract all files to a folder.
- Right-click
install.batβ "Run as administrator". - Follow the prompts.
The installer will:
- Install Python 3.11 if missing (via winget).
- Install dependencies (Numba, NumPy, etc.) via pip.
- Copy files to
%LOCALAPPDATA%\FormulaPy\Engine. - Create
formulapycommand. - Add to PATH (optional).
git clone https://github.com/2M12/FormulaPy.git
cd FormulaPy
pip install -r requirements.txt
python formulapy.py script.pyformulapy.py:
MD5 30813ddc72a57c37478df32c2b7b52a9
SHA-256 37def13be42a7f0bcceafeb700569c00889e929c16ecd69faa5d04068d12d486formulacore.dll:
MD5 476536e2eb3b4e427ebd7cd04d1dd288
SHA-256 630ec772d11038c84daeff268353633fe8ca2798707f8e53eb343328839490cainstall.bat:
MD5 50d0a25e59a6f3bbc343db3b0c5a9332
SHA-256 8cb414a5bd346d092de695e8146a9b2716194337ba57c81167050a1cf5929e12MIT Β© 2026 Mikhail Chernov (2M12)

