Law
Dependent calls pay every round trip
Latency decides how fast a chain of dependent steps finishes; bandwidth decides how much independent work you can push.
How it behaves
One input on the horizontal axis, the others held fixed.
same region (1 ms)cross-region (80–100 ms)
Data table
| Dependent calls | series | Time waiting |
|---|---|---|
| 1 | same region (1 ms) | 1 ms |
| 1.61 | same region (1 ms) | 1.61 ms |
| 2.23 | same region (1 ms) | 2.23 ms |
| 2.84 | same region (1 ms) | 2.84 ms |
| 3.45 | same region (1 ms) | 3.45 ms |
| 4.06 | same region (1 ms) | 4.06 ms |
| 4.67 | same region (1 ms) | 4.68 ms |
| 5.29 | same region (1 ms) | 5.29 ms |
| 5.9 | same region (1 ms) | 5.9 ms |
| 6.51 | same region (1 ms) | 6.51 ms |
| 7.13 | same region (1 ms) | 7.13 ms |
| 7.74 | same region (1 ms) | 7.74 ms |
| 8.35 | same region (1 ms) | 8.35 ms |
| 8.96 | same region (1 ms) | 8.96 ms |
| 9.57 | same region (1 ms) | 9.57 ms |
| 10.2 | same region (1 ms) | 10.2 ms |
| 10.8 | same region (1 ms) | 10.8 ms |
| 11.4 | same region (1 ms) | 11.4 ms |
| 12 | same region (1 ms) | 12 ms |
| 12.6 | same region (1 ms) | 12.6 ms |
| 13.3 | same region (1 ms) | 13.3 ms |
| 13.9 | same region (1 ms) | 13.9 ms |
| 14.5 | same region (1 ms) | 14.5 ms |
| 15.1 | same region (1 ms) | 15.1 ms |
| 15.7 | same region (1 ms) | 15.7 ms |
| 16.3 | same region (1 ms) | 16.3 ms |
| 16.9 | same region (1 ms) | 16.9 ms |
| 17.5 | same region (1 ms) | 17.5 ms |
| 18.1 | same region (1 ms) | 18.1 ms |
| 18.8 | same region (1 ms) | 18.8 ms |
| 19.4 | same region (1 ms) | 19.4 ms |
| 20 | same region (1 ms) | 20 ms |
| 20.6 | same region (1 ms) | 20.6 ms |
| 21.2 | same region (1 ms) | 21.2 ms |
| 21.8 | same region (1 ms) | 21.8 ms |
| 22.4 | same region (1 ms) | 22.4 ms |
| 23.1 | same region (1 ms) | 23.1 ms |
| 23.7 | same region (1 ms) | 23.7 ms |
| 24.3 | same region (1 ms) | 24.3 ms |
| 24.9 | same region (1 ms) | 24.9 ms |
| 25.5 | same region (1 ms) | 25.5 ms |
| 26.1 | same region (1 ms) | 26.1 ms |
| 26.7 | same region (1 ms) | 26.7 ms |
| 27.3 | same region (1 ms) | 27.3 ms |
| 27.9 | same region (1 ms) | 27.9 ms |
| 28.6 | same region (1 ms) | 28.6 ms |
| 29.2 | same region (1 ms) | 29.2 ms |
| 29.8 | same region (1 ms) | 29.8 ms |
| 30.4 | same region (1 ms) | 30.4 ms |
| 31 | same region (1 ms) | 31 ms |
| 31.6 | same region (1 ms) | 31.6 ms |
| 32.2 | same region (1 ms) | 32.2 ms |
| 32.9 | same region (1 ms) | 32.9 ms |
| 33.5 | same region (1 ms) | 33.5 ms |
| 34.1 | same region (1 ms) | 34.1 ms |
| 34.7 | same region (1 ms) | 34.7 ms |
| 35.3 | same region (1 ms) | 35.3 ms |
| 35.9 | same region (1 ms) | 35.9 ms |
| 36.5 | same region (1 ms) | 36.5 ms |
| 37.1 | same region (1 ms) | 37.1 ms |
| 37.8 | same region (1 ms) | 37.8 ms |
| 38.4 | same region (1 ms) | 38.4 ms |
| 39 | same region (1 ms) | 39 ms |
| 39.6 | same region (1 ms) | 39.6 ms |
| 40.2 | same region (1 ms) | 40.2 ms |
| 40.8 | same region (1 ms) | 40.8 ms |
| 41.4 | same region (1 ms) | 41.4 ms |
| 42 | same region (1 ms) | 42 ms |
| 42.6 | same region (1 ms) | 42.6 ms |
| 43.3 | same region (1 ms) | 43.3 ms |
| 43.9 | same region (1 ms) | 43.9 ms |
| 44.5 | same region (1 ms) | 44.5 ms |
| 45.1 | same region (1 ms) | 45.1 ms |
| 45.7 | same region (1 ms) | 45.7 ms |
| 46.3 | same region (1 ms) | 46.3 ms |
| 46.9 | same region (1 ms) | 46.9 ms |
| 47.5 | same region (1 ms) | 47.5 ms |
| 48.2 | same region (1 ms) | 48.2 ms |
| 48.8 | same region (1 ms) | 48.8 ms |
| 49.4 | same region (1 ms) | 49.4 ms |
| 50 | same region (1 ms) | 50 ms |
| 1 | cross-region (80–100 ms) | 90 ms |
| 1.61 | cross-region (80–100 ms) | 145 ms |
| 2.23 | cross-region (80–100 ms) | 200 ms |
| 2.84 | cross-region (80–100 ms) | 255 ms |
| 3.45 | cross-region (80–100 ms) | 311 ms |
| 4.06 | cross-region (80–100 ms) | 366 ms |
| 4.67 | cross-region (80–100 ms) | 421 ms |
| 5.29 | cross-region (80–100 ms) | 476 ms |
| 5.9 | cross-region (80–100 ms) | 531 ms |
| 6.51 | cross-region (80–100 ms) | 586 ms |
| 7.13 | cross-region (80–100 ms) | 641 ms |
| 7.74 | cross-region (80–100 ms) | 696 ms |
| 8.35 | cross-region (80–100 ms) | 752 ms |
| 8.96 | cross-region (80–100 ms) | 807 ms |
| 9.57 | cross-region (80–100 ms) | 862 ms |
| 10.2 | cross-region (80–100 ms) | 917 ms |
| 10.8 | cross-region (80–100 ms) | 972 ms |
| 11.4 | cross-region (80–100 ms) | 1.03 s |
| 12 | cross-region (80–100 ms) | 1.08 s |
| 12.6 | cross-region (80–100 ms) | 1.14 s |
| 13.3 | cross-region (80–100 ms) | 1.19 s |
| 13.9 | cross-region (80–100 ms) | 1.25 s |
| 14.5 | cross-region (80–100 ms) | 1.3 s |
| 15.1 | cross-region (80–100 ms) | 1.36 s |
| 15.7 | cross-region (80–100 ms) | 1.41 s |
| 16.3 | cross-region (80–100 ms) | 1.47 s |
| 16.9 | cross-region (80–100 ms) | 1.52 s |
| 17.5 | cross-region (80–100 ms) | 1.58 s |
| 18.1 | cross-region (80–100 ms) | 1.63 s |
| 18.8 | cross-region (80–100 ms) | 1.69 s |
| 19.4 | cross-region (80–100 ms) | 1.74 s |
| 20 | cross-region (80–100 ms) | 1.8 s |
| 20.6 | cross-region (80–100 ms) | 1.85 s |
| 21.2 | cross-region (80–100 ms) | 1.91 s |
| 21.8 | cross-region (80–100 ms) | 1.96 s |
| 22.4 | cross-region (80–100 ms) | 2.02 s |
| 23.1 | cross-region (80–100 ms) | 2.07 s |
| 23.7 | cross-region (80–100 ms) | 2.13 s |
| 24.3 | cross-region (80–100 ms) | 2.18 s |
| 24.9 | cross-region (80–100 ms) | 2.24 s |
| 25.5 | cross-region (80–100 ms) | 2.29 s |
| 26.1 | cross-region (80–100 ms) | 2.35 s |
| 26.7 | cross-region (80–100 ms) | 2.41 s |
| 27.3 | cross-region (80–100 ms) | 2.46 s |
| 27.9 | cross-region (80–100 ms) | 2.52 s |
| 28.6 | cross-region (80–100 ms) | 2.57 s |
| 29.2 | cross-region (80–100 ms) | 2.63 s |
| 29.8 | cross-region (80–100 ms) | 2.68 s |
| 30.4 | cross-region (80–100 ms) | 2.74 s |
| 31 | cross-region (80–100 ms) | 2.79 s |
| 31.6 | cross-region (80–100 ms) | 2.85 s |
| 32.2 | cross-region (80–100 ms) | 2.9 s |
| 32.9 | cross-region (80–100 ms) | 2.96 s |
| 33.5 | cross-region (80–100 ms) | 3.01 s |
| 34.1 | cross-region (80–100 ms) | 3.07 s |
| 34.7 | cross-region (80–100 ms) | 3.12 s |
| 35.3 | cross-region (80–100 ms) | 3.18 s |
| 35.9 | cross-region (80–100 ms) | 3.23 s |
| 36.5 | cross-region (80–100 ms) | 3.29 s |
| 37.1 | cross-region (80–100 ms) | 3.34 s |
| 37.8 | cross-region (80–100 ms) | 3.4 s |
| 38.4 | cross-region (80–100 ms) | 3.45 s |
| 39 | cross-region (80–100 ms) | 3.51 s |
| 39.6 | cross-region (80–100 ms) | 3.56 s |
| 40.2 | cross-region (80–100 ms) | 3.62 s |
| 40.8 | cross-region (80–100 ms) | 3.67 s |
| 41.4 | cross-region (80–100 ms) | 3.73 s |
| 42 | cross-region (80–100 ms) | 3.78 s |
| 42.6 | cross-region (80–100 ms) | 3.84 s |
| 43.3 | cross-region (80–100 ms) | 3.89 s |
| 43.9 | cross-region (80–100 ms) | 3.95 s |
| 44.5 | cross-region (80–100 ms) | 4 s |
| 45.1 | cross-region (80–100 ms) | 4.06 s |
| 45.7 | cross-region (80–100 ms) | 4.11 s |
| 46.3 | cross-region (80–100 ms) | 4.17 s |
| 46.9 | cross-region (80–100 ms) | 4.22 s |
| 47.5 | cross-region (80–100 ms) | 4.28 s |
| 48.2 | cross-region (80–100 ms) | 4.33 s |
| 48.8 | cross-region (80–100 ms) | 4.39 s |
| 49.4 | cross-region (80–100 ms) | 4.44 s |
| 50 | cross-region (80–100 ms) | 4.5 s |
Worked examples, recomputed
Every number the mechanisms quote for this relationship is recomputed from it, so none of them disagrees with it.
- 4 chained REST calls at 80 ms → 320 ms, against 80 ms for one
- 20 sequential calls across regions → 2 s
Where it appears
Each mechanism states it in its own names. The general symbol each name stands for is shown with it.
- Physical Substrate & Performance Laws
Why do trade-offs exist at all?
- Cost Mechanics
What is metered, and what is the smallest increment you are charged for?
- Interfaces & Formats
What can two parties agree on when they cannot talk to each other?