apsis-rs/crates/ops
ApsisRS contributors 46afd88f7e scheduler: read placed demands through the shared index
The confirmation that follows the sweep called the public feasibility
test, which scans the task list once to collect the boundaries and again,
per boundary, to sum the demand of every covering placement. That is
quadratic per task and dominated the search: removing the confirmation
alone cut the crowded case by eight, which located the cost.

The index built for the sweep is now passed into that test, so both the
boundary collection and the demand sum read a task by its identifier
instead of searching for it. The public entry point keeps its signature
and builds the index for a caller that has none.

Planning three thousand two hundred mutually contending tasks falls from
6.7 seconds to 0.48, and the plans are identical: the check compares the
start time and end of every placement, before and after, across two
resources with disjoint availability windows.
2026-09-30 18:57:18 +08:00
..
apsis-conflict workspace: remove dependencies that are declared but never used 2026-09-26 23:36:38 +08:00
apsis-resource workspace: remove dependencies that are declared but never used 2026-09-26 23:36:38 +08:00
apsis-schedule workspace: remove dependencies that are declared but never used 2026-09-26 23:36:38 +08:00
apsis-scheduler scheduler: read placed demands through the shared index 2026-09-30 18:57:18 +08:00
apsis-task workspace: remove dependencies that are declared but never used 2026-09-26 23:36:38 +08:00