The deletion-detection loop in `get_sync_status` scanned `local_files` linearly for every tracked path in `sync_state.files`, making the cost quadratic in the file count. The earlier "pending change" loop just above already does the inverse direction via `sync_state.files.get` (O(1)). Build a `HashSet<&str>` of local paths once and check it the same way to make the function O(n). This is called by the GUI status indicator, so the win shows up as soon as a workspace tracks more than a handful of files. |
||
|---|---|---|
| .. | ||
| onyx-cli | ||
| onyx-core | ||