A tool for automating benchmarks of programming assignments.
Project description
benchie
A tool for automating benchmarks of programming assignments.
- Github repository: https://github.com/berombau/benchie/
- Documentation https://berombau.github.io/benchie/
Installation
Install uv.
You can run the tool without installation using the following command:
uvx benchie --help
To install the tool in an environment, you can run:
uv venv
uv pip install benchie
Run as a student
Example data
With the example data in this repository at solutions/ and data/ you can run the following command:
benchie run -S -e "example_sleep" --disable_pretest -b hyperfine -b memray_tracker
The output will be stored in output/example_sleep/.
Custom data
Put different implementations at solutions/{exercise_1}/{implementation_1}.py.
Run the benchmark with disabled fetching of Dodona submissions and only the first 3 datasets:
benchie run -S -e "{exercise_1}" --subset_data 3
Output will be stored in output/{exercise_1}.
Run as a teacher
Fetch token from Dodona user profile and store as token file.
Setup recurrent job
- Use deploy keys
- Use git instead of https as git origin remote URL
- setup cron job
- copy conda init lines from ~/.bashrc to ~/.bashrc_conda
Use crontab -e to add a cron job (edit the repo path):
SHELL=/bin/bash
BASH_ENV=~/.bashrc_conda
0 * * * * conda activate combio_benchmark_2024; timeout --signal=KILL 1h benchie run -e "global_alignment" -fC >> ~/combio_benchmark_job.log 2>&1
Repository initiated with fpgmaas/cookiecutter-uv.
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 benchie-0.0.2.tar.gz.
File metadata
- Download URL: benchie-0.0.2.tar.gz
- Upload date:
- Size: 14.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0af33c0d1e9f90f6df1c01071b4a22d35fb5d559222260795ddf8d8e496ec6b4
|
|
| MD5 |
e522142675b43a6e144998b3a6235808
|
|
| BLAKE2b-256 |
d20050698f8517c48362eaaa5fec1b9e6054e0eb1e4297b45c9e776c5ca783a7
|
File details
Details for the file benchie-0.0.2-py3-none-any.whl.
File metadata
- Download URL: benchie-0.0.2-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e27c4f79dcf3e555735ed7717675e3e2101afd7e04b84387630cb17c5ffeb7ca
|
|
| MD5 |
e983834c01c5a7b397b992a1376fda80
|
|
| BLAKE2b-256 |
128aecee96d1534959331fff80d2eb1274c40c56c2ba09018f3077e63d942a70
|