The executor performs linked-list scans in _find, _wake_dependents, and each _drive scheduling round. Task records are retained for reuse until shutdown. After a large fan-out has completed, operations can still traverse the historical high-water list; waking many dependents also produces quadratic work in the number of task slots.
This is a source-level complexity finding, not a claimed benchmark result. A focused patch should establish deterministic work counters before choosing data structures.
Source evidence at the head of #520:
Acceptance:
Related: #444. This is a focused complexity follow-up to its initial executor, not a request for a multithreaded runtime.
Audit status: identified by static source inspection; the scenarios above have not been executed during this audit. This follows up the implementation introduced in draft PR #520.
The executor performs linked-list scans in
_find,_wake_dependents, and each_drivescheduling round. Task records are retained for reuse until shutdown. After a large fan-out has completed, operations can still traverse the historical high-water list; waking many dependents also produces quadratic work in the number of task slots.This is a source-level complexity finding, not a claimed benchmark result. A focused patch should establish deterministic work counters before choosing data structures.
Source evidence at the head of #520:
fun _findfun _wake_dependentsexport(c, "__wave_task_drive")Acceptance:
Related: #444. This is a focused complexity follow-up to its initial executor, not a request for a multithreaded runtime.
Audit status: identified by static source inspection; the scenarios above have not been executed during this audit. This follows up the implementation introduced in draft PR #520.