769ad9aformatJeremy Magland 3A benchmarking framework for evaluating compression algorithms on numeric array datasets, with a focus on scientific data.
7ccd097update web-uiJeremy Magland 4
769ad9aformatJeremy Magland 9Zia provides systematic benchmarking of compression methods for numeric arrays, measuring:
11- Encoding throughput (MB/s)
12- Decoding throughput (MB/s)
14## Repository Structure
16Key components are located in the `zia_benchmark/src/zia_benchmark/` directory:
18- Algorithms: `/algorithms/`
19 - LZMA: `/algorithms/lzma/`
20 - Zstandard: `/algorithms/zstd/`
21 - ZLIB: `/algorithms/zlib/`
22 - Simple ANS: `/algorithms/simple_ans/`
23 - etc.
25- Datasets: `/datasets/`
26 - Synthetic data generators:
27 - `/datasets/bernoulli/`: Binary random data
28 - `/datasets/gaussian/`: Normal distribution samples
29 - Real data: `/datasets/real/`
30 - etc.
32- Core functionality:
33 - `run_benchmarks.py`: Main benchmarking engine
37### Code Formatting
39This project uses pre-commit hooks to automatically format code before each commit. The formatting includes:
40- Python code formatting using black
41- TypeScript/JavaScript code formatting using npm scripts
43To set up the pre-commit hooks after cloning the repository:
451. Install pre-commit:
46```bash
47pip install pre-commit
48```
502. Install the git hook scripts:
51```bash
52pre-commit install
53```
55After this setup, code will be automatically formatted when you make a commit.