On this page

Beyond Framerate: Taming Your Timeslice Through Asynchrony

What the talk says

What the kit took

Measured here (.NET 8 Release, 4-core container under load average about 14)

What Result
200 backward GOAP plans (six steps among 20 irrelevant actions) in one frame, 30 runs 4.0 ms minimum, 9.7 ms median
The same under FrameBudget(checkEvery: 4) at 1 ms a frame median Run 1.03 ms; finished in 4 frames (6 runs), 5 (21) or 6 (3)
Worst single Run per run median 7 ms, up to 16 ms: the OS pre-empted the process; a budget cannot stop that
Stopwatch.GetTimestamp 29 to 96 ns a call; an empty FrameBudget step costs about 24 ns

bench on a Godot stress scene was skipped: it needs a new scene in the C# example and a display, and on a machine this loaded the frame times would mostly measure the other processes.

What it did not take, and why