Same four attempts, same asserted schedule,
thirteen milliseconds of test.
retry backoff 5s then 10s then 15s · four attempts · 30s of waiting on the schedule
TimeProvider.System · the clock the process runs on
30.000 s of wall clock
attempt 1
attempt 2
attempt 3
attempt 4 · 30s
FakeTimeProvider · the same 30s, advanced one delay at a time
13 ms of wall clock
attempts 1–4 · 30s simulated
not to scale: 13 ms against 30 s is 0.04% of the track
the part that costs an afternoon
a fake clock fires only the timers that already exist, so one jump past the whole schedule leaves the run pending. each delay registers its timer only after the previous one's continuation runs