Skip to content

Commit a35ddcd

Browse files
authored
Merge pull request #2 from FasterAI-Labs/release/v0.1.0
Release v0.1.0
2 parents 58e0135 + 16084b5 commit a35ddcd

4 files changed

Lines changed: 46 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: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
__version__ = "0.0.1"
21
"""Comprehensive benchmarking toolkit for deep learning models"""
32

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

65
# %% auto #0
76
__all__ = []
87

8+
# %% ../nbs/index.ipynb #version_cell
9+
__version__ = "0.1.0"
10+
911
# %% ../nbs/index.ipynb #8b6f8c52
1012
from .benchmark import benchmark, BenchmarkResult
1113
from .size import SizeMetrics, compute_size, get_model_size, get_num_parameters

nbs/index.ipynb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,17 @@
2020
"#| default_exp __init__"
2121
]
2222
},
23+
{
24+
"cell_type": "code",
25+
"execution_count": null,
26+
"id": "version_cell",
27+
"metadata": {},
28+
"outputs": [],
29+
"source": [
30+
"#| export\n",
31+
"__version__ = \"0.1.0\""
32+
]
33+
},
2334
{
2435
"cell_type": "code",
2536
"execution_count": null,

pyproject.toml

Lines changed: 3 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]
@@ -28,5 +28,6 @@ version = {attr = "fasterbench.__version__"}
2828
include = ["fasterbench"]
2929

3030
[tool.nbdev]
31+
version = "0.1.0"
3132
tst_flags = 'notest'
3233
jupyter_hooks = true

0 commit comments

Comments
 (0)