These are numbers that are useful to have around when doing software engineering. Source is Eskildsen (2026). The goal is easily estimating things, not precision (thus numbers are rounded).
Before we get into them, some useful advice:
- As in Big O, constants are less important than what comes after. So pay attention to the exponents
- These are extremely handy Fermi-like estimates. The GitHub source says "Fermi Decomposition"
- Try to not overcomplicate. If you are making more than 6 assumptions, you can probably simplify the problem further
Also, a nice thought is that these numbers usually expose the fastest possible performance. Whatever you do, it'll be ON TOP of these.
Time
- 1 day ≈ 86,400 s ≈ 10⁵ s
- 1 year ≈ 3 × 10⁷ s
- 1 million requests per day ≈ 12 requests per second
- Downtime budgets per number of 9's: Site reliability and 9's
Latency
| Operation | Latency |
|---|---|
| Sequential memory read (64 B) | 0.5 ns |
| Random memory read (64 B) | 20 ns |
| System call | 300 ns |
| Context switch | 10 μs |
| Random SSD read (8 KiB) | 100 μs |
| Network, same region | 250 μs |
| Database or cache query (MySQL, Redis) | 500 μs |
| Random HDD read (8 KiB) | 10 ms |
| Blob storage GET (S3, GCS) | 80 ms |
| Network, EU West ↔ NA East | 80 ms |
Throughput
| Operation | Throughput | 1 GiB takes |
|---|---|---|
| Sequential memory read, single thread | 20 GiB/s | 50 ms |
| Network, same zone | 10 GiB/s | 100 ms |
| Sequential SSD read | 8 GiB/s | 100 ms |
| Decompression | 1 GiB/s | 1 s |
| Compression | 500 MiB/s | 2 s |
| Serialization (e.g. JSON) | 100 MiB/s | 10 s |
| Blob storage, single connection | 100 MiB/s | 10 s |
| Network between regions | 25 MiB/s | 40 s |
Cost
| What | Cost |
|---|---|
| 1 vCPU | $15 per month |
| 1 GB memory | $2 per month |
| 1 GB blob storage (S3, GCS) | $0.02 per month |
| 1 GB zonal SSD | $0.20 per month |
| 1 GB internet egress | $0.10 |
| 1 GB logs or traces ingested | $0.50 |