# sirupsen/napkin-math

Techniques and numbers for estimating system's performance from first-principles

Repository: https://github.com/sirupsen/napkin-math
Canonical: https://ross.abutalabs.com/products/napkin-math
Homepage: https://www.youtube.com/watch?v=IxkSlnrRFqc
Language: Rust
License: MIT
License Family: permissive
Last push: 2026-03-21T11:21:21+00:00

## Health v2 (maintenance only)
Score: 65/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 73, release rhythm 35, longevity 100
- inputs: {"age_days": 2650, "days_push": 165, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 5671, forks 233 (observed 2026-08-28T04:09:27.642123+00:00)

## What it is
A collection of memorized latency/throughput numbers, benchmark code, and techniques for estimating system performance from first principles (napkin math). Includes Rust benchmarks re-measured on modern cloud hardware plus practice problems and a newsletter.

## Use cases
- estimate how long it takes to read 1 GB of memory
- estimate storage costs for logging at 100k RPS
- learn back-of-envelope systems performance estimation
- refresh latency numbers for modern cloud hardware
- practice systems design interview estimation questions
- decide whether a design is feasible before benchmarking

## When to choose
- you need quick first-principles performance estimates for system design
- you want up-to-date hardware latency numbers with benchmark code
- you're preparing for systems design or SRE interviews

## When to avoid
- you need precise, production-grade benchmarking of your own workload (use fio or dedicated profilers)
- you want a runnable performance monitoring tool rather than reference numbers

## Facets
- artifact type: learning-resource
- maturity: active
- function: benchmarking, developer-tools
- domain: developer-tools, performance, infrastructure-as-code, tutorials
- platform: cross-platform
- tags: napkin-math, latency-numbers, systems-performance, capacity-planning, back-of-envelope-estimation, sre, performance, linux

## Member repositories
- sirupsen/napkin-math (main) score 65

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:27.642123+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:54:17.658025+00:00, confidence not recorded.
  - readme: https://github.com/sirupsen/napkin-math (fetched 2026-08-28T04:09:27.642123+00:00, sha 4efda81a1d7a)
  - homepage: https://www.youtube.com/watch?v=IxkSlnrRFqc (fetched 2026-08-29T08:49:24.040608+00:00, sha 44136fa355b3)
- Data as of 2026-08-30T08:39:29.467469+00:00.
