A CLI tool for programming language speed benchmarks
Project description
Velocicode 🚀
Velocicode is a high-performance command-line tool for benchmarking programming language speeds. It allows you to run standard algorithms across multiple languages and compare their execution time with professional, interactive reports.
Features ✨
- Multi-Language Support: Benchmarks Python, C++, Rust, Go, and JavaScript (Node.js).
- Smart Execution:
- System Info: Auto-detects your CPU, RAM, and OS.
- Dependency Check: Automatically checks for compilers and skips missing languages.
- Premium UI:
- Beautiful terminal output using the Rich library.
- Rankings with Medals (🥇 🥈 🥉).
- Relative Speed comparisons (e.g.,
1.00xvs45.9x).
- Data Export:
- JSON: Raw data export for analysis.
- HTML: Interactive reports with Charts for presentations.
Installation
pip install velocicode
Usage
1. Run Benchmarks
Run all benchmarks with default settings:
velocicode run
The tool will display your system information and check if you have the necessary compilers. If some are missing, it will ask if you want to proceed with the available ones.
Filter by specific algorithm or language:
# Run only Matrix Multiplication in Rust and Go
velocicode run --filter-algo matrix_mul --filter-lang rust,go
2. Generate Reports 📊
Export results to JSON or generate a visual HTML report:
velocicode run --html report.html --json results.json
Open report.html in your browser to see interactive bar charts!
3. Check Compilers
Velocicode relies on system compilers. Check what you have installed:
velocicode check
Requirements
[!IMPORTANT] This tool requires external compilers.
pipinstalls the runner, but you need the languages installed:
- Python 3.7+
g++(for C++)rustc(for Rust)go(for Go)node(for JavaScript)
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file velocicode-0.5.0.tar.gz.
File metadata
- Download URL: velocicode-0.5.0.tar.gz
- Upload date:
- Size: 14.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73d7e02b2f629b03d2106ebd00ae5fdebc1691929b9ed68116880ff243aef21e
|
|
| MD5 |
b4fea38eae11553857a21021d0d68ecb
|
|
| BLAKE2b-256 |
d66667d83c92e7590eb8b185f63b0b87fcf92f1c02a60a12e92f3313f872622c
|
File details
Details for the file velocicode-0.5.0-py3-none-any.whl.
File metadata
- Download URL: velocicode-0.5.0-py3-none-any.whl
- Upload date:
- Size: 20.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18129af8fd3f42f1680c9c35729aedd12d518c64de54e05077a71f53d9b90bbf
|
|
| MD5 |
2822ece9f9eb11023f82402fa720420a
|
|
| BLAKE2b-256 |
1b9faa759f6ad20777aa204c9e8466fa644d8f2985b9ad910ce1e14d95e3ae8f
|