m04 · Jobs · unit quiz · 14 min
Unit — Jobs
01why
State why the job shape (data in fields, logic in Execute) is what makes safe automatic scheduling possible.
02why
Explain the sense in which a data race and pointer aliasing are the same phenomenon.
03why
Why can many jobs reading the same [ReadOnly] array run concurrently while any writer forces serialization?
04how
An IJobEntity's Execute takes one entity's components. Why does ScheduleParallel not run one thread per entity?
05why
The most common jobs performance mistake, and its relationship to a structural-change sync point:
06howmeasure
Build the single-vs-parallel comparison from the lab: one heavy IJobEntity via Schedule vs ScheduleParallel over ~200k entities. Enter time_Schedule / time_ScheduleParallel.
▸ Run a heavy per-entity IJobEntity (enough inner math to dominate scheduling) over ~200,000 entities via Schedule (single) then ScheduleParallel (all cores). Warm up, median many runs. Enter time_Schedule / time_ScheduleParallel.
07howmeasure
Now price over-completion: a 3-job chain completed once at the end vs completed after each job. Enter time_completeEach / time_completeOnce.
▸ Schedule three heavy ScheduleParallel jobs chained via handles and Complete once; then schedule three completing after each. Warm up, median many runs. Enter time_completeEach / time_completeOnce.
your notes
stored in this browser · syncs when you sign in