Skip to content

Commit a006e4e

Browse files
committed
release: bump version to v0.1.0
First stable release with unified benchmark() API, 5 metric categories (size, speed, compute, memory, energy), LayerProfiler, radar plots, and full nbdev3 infrastructure.
1 parent ed6fe5d commit a006e4e

3 files changed

Lines changed: 32 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Changelog
2+
3+
## v0.1.0 (2026-03-24)
4+
5+
First stable release of fasterbench.
6+
7+
### Features
8+
9+
- **Unified `benchmark()` API** — Single entry point returning typed `BenchmarkResult` with 5 metric categories
10+
- **Size metrics** — Parameter count, disk size via `compute_size()`
11+
- **Speed metrics** — Latency, throughput, batch/thread/latency sweeps via `compute_speed_multi()`
12+
- **Compute metrics** — MACs/FLOPs via thop and torchprofile backends via `compute_compute()`
13+
- **Memory metrics** — CPU (psutil) and GPU (CUDA) memory tracking via `compute_memory_multi()`
14+
- **Energy metrics** — Power consumption and carbon footprint via codecarbon via `compute_energy_multi()`
15+
- **`LayerProfiler`** — Per-layer profiling with hook-based measurement (speed, memory, size, compute)
16+
- **Radar plots** — Multi-model comparison visualization via `create_radar_plot()`
17+
- **`BenchmarkResult`** — Supports both typed access (`result.size.size_mib`) and dict access (`result["size_mib"]`)
18+
- **Serialization**`.as_dict()`, `.to_dataframe()`, `.to_json()` on all result types
19+
20+
### Infrastructure
21+
22+
- Migrated to nbdev3 with `pyproject.toml` (PEP 621)
23+
- CI via GitHub Actions (nbdev3-ci workflow)
24+
- Documentation via Quarto + GitHub Pages
25+
- Suppressed spurious logging from thop and codecarbon
26+
27+
## v0.0.1
28+
29+
Initial development release.

fasterbench/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = "0.0.1"
1+
__version__ = "0.1.0"
22
"""Comprehensive benchmarking toolkit for deep learning models"""
33

44
# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/index.ipynb.

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ readme = "README.md"
1010
requires-python = ">=3.7"
1111
license = {text = "Apache-2.0"}
1212
authors = [{name = "nathanhubens", email = "nathan.hubens@gmail.com"}]
13-
keywords = ['nbdev', 'jupyter', 'notebook', 'python']
14-
classifiers = ["Natural Language :: English", "Intended Audience :: Developers", "Development Status :: 3 - Alpha", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only"]
13+
keywords = ['benchmark', 'deep-learning', 'pytorch', 'profiling', 'latency', 'energy']
14+
classifiers = ["Natural Language :: English", "Intended Audience :: Developers", "Development Status :: 4 - Beta", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only"]
1515
dependencies = ['torch', 'fastcore', 'prettytable', 'tqdm', 'codecarbon', 'torchprofile', 'thop', 'plotly']
1616

1717
[project.urls]

0 commit comments

Comments
 (0)