Metadata-Version: 2.4
Name: asv_bench_tachyon
Version: 0.1.1
Summary: Tachyon sampling benchmark type for ASV (sample_* metrics via profiling.sampling)
Project-URL: Source, https://github.com/HaoZeke/asv_bench_tachyon
Project-URL: Issues, https://github.com/HaoZeke/asv_bench_tachyon/issues
Author-email: Rohit Goswami <rgoswami@ieee.org>
Maintainer-email: Rohit Goswami <rgoswami@ieee.org>
License: MIT
License-File: LICENSE
Keywords: asv,benchmark,profiling,sampling,tachyon
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.15
Classifier: Topic :: System :: Benchmark
Requires-Python: >=3.15
Requires-Dist: asv-runner>=0.2.1
Provides-Extra: test
Requires-Dist: asv>=0.6.4; extra == 'test'
Requires-Dist: pytest>=8.0; extra == 'test'
Description-Content-Type: text/markdown

# asv_bench_tachyon

ASV **benchmark type** plugin (same contract as
[asv_bench_memray](https://pypi.org/project/asv-bench-memray/)).

Defines `sample_*` / `Sample*` benchmarks. `asv run` stores a **number**
(estimated exclusive time per call from Python 3.15 Tachyon samples) in results
for history, compare, and graphs.

There is no separate CLI package. Install this into the benchmark environment
and write `sample_*` functions.

## Install

```bash
pip install asv_bench_tachyon
```

Python **>= 3.15** (needs `profiling.sampling`). Put it on the ASV matrix:

```json
{
  "matrix": {
    "req": {
      "pip+asv_bench_tachyon": [""]
    }
  }
}
```

## Benchmark

```python
class Suite:
    def sample_hot_loop(self):
        s = 0
        for i in range(200_000):
            s += i * i
        return s

    sample_hot_loop.sample_mode = "cpu"     # wall | cpu | gil
    sample_hot_loop.sample_duration = 0.25  # seconds of sampling
```

```bash
asv run --bench sample_hot_loop
```

## Discovery contract

- Distribution name starts with `asv_bench`
- `asv_bench_tachyon/benchmarks/*.py` exports `export_as_benchmark = [SampleTimeBenchmark]`

Same as memray. No `asv profile` GUI, no standalone CLI.

## License

MIT.
