LL perf (Textures/assets): Fetch-thread per-update scans #306

Closed
opened 2026-10-04 14:09:15 +00:00 by sky_line · 0 comments
Owner

From the LL-origin inefficiency audit (finding T14). File/line references are from commit 0229f8872c; re-locate them before working.

Fetch-thread per-update scans

  • releaseHttpWaiters copies the whole waiter std::set, does a getWorker lock per id, then partial_sort, on every commonUpdate (lltexturefetch.cpp:3380-3484).
  • LLWorkerThread::update scans the whole mDeleteList every frame (llworkerthread.cpp:85-127).
  • Fix: a heap of (priority, worker*); re-check delete candidates on completion events.
  • Confirmed. M.

Verify the cost (profile or timer) before and after changing it.

From the LL-origin inefficiency audit (finding T14). File/line references are from commit 0229f8872c; re-locate them before working. **Fetch-thread per-update scans** - `releaseHttpWaiters` copies the whole waiter `std::set`, does a `getWorker` lock per id, then `partial_sort`, on every `commonUpdate` (`lltexturefetch.cpp:3380-3484`). - `LLWorkerThread::update` scans the whole `mDeleteList` every frame (`llworkerthread.cpp:85-127`). - **Fix:** a heap of (priority, worker*); re-check delete candidates on completion events. - Confirmed. M. Verify the cost (profile or timer) before and after changing it.
sky_line added this to the Slipstream project 2026-10-06 15:04:13 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#306
No description provided.