https://github.com/zarr-developers/perfcapture
Capture the performance of a computer system whilst running a set of benchmark workloads.
https://github.com/zarr-developers/perfcapture
Last synced: 9 months ago
JSON representation
Capture the performance of a computer system whilst running a set of benchmark workloads.
- Host: GitHub
- URL: https://github.com/zarr-developers/perfcapture
- Owner: zarr-developers
- License: mit
- Created: 2023-09-20T16:09:31.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-04T10:32:12.000Z (11 months ago)
- Last Synced: 2025-04-09T15:27:27.589Z (10 months ago)
- Language: Python
- Size: 73.2 KB
- Stars: 2
- Watchers: 5
- Forks: 2
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# perfcapture
Capture the performance of a computer system whilst running a set of benchmark workloads.
`perfcapture` is especially focused on benchmarking workloads which require a lot of IO.
Please note that `perfcapture` is a general-purpose benchmarking tool. Please see
[`zarr-benchmark`](https://github.com/zarr-developers/zarr-benchmark) for Zarr-specific benchmarks.
`zarr-benchmark` is built on top of `perfcapture`.
# Features
* Easily to define new workloads and datasets.
* Orchestrate the creation of on-disk datasets (for benchmarking against).
* (TODO) Allow users to select workloads and datasets at the command line.
* (TODO) For each workload, measure a range of performance metrics including:
- total runtime
- total bytes of IO
- total IO operations
* (TODO) Save performance metrics to disk as JSON.
# Installation
1. Clone the repository.
2. Optionally create a virtual Python environment (e.g. with `python -m venv `) and
activate that venv (`source bin/activate`).
3. `pip install -e .`
# Usage
To run the examples:
```
~/dev/perfcapture$ mkdir -p ~/temp/perfcapture_data_path
~/dev/perfcapture$ python scripts/cli.py --data-path ~/temp/perfcapture_data_path --recipe-path examples
```