LL perf (Inventory): Worn checks are linear scans #356

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

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

Worn checks are linear scans

  • Where: llvoavatarself.cpp:1267-1281, llagentwearables.cpp:551-583. They run per item in the Worn filter and in label refreshes.
  • Fix: unordered_set of worn ids.
  • Confirmed. S-M.

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

From the LL-origin inefficiency audit (finding I21). File/line references are from commit 0229f8872c; re-locate them before working. **Worn checks are linear scans** - **Where:** `llvoavatarself.cpp:1267-1281`, `llagentwearables.cpp:551-583`. They run per item in the Worn filter and in label refreshes. - **Fix:** `unordered_set` of worn ids. - Confirmed. S-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
Author
Owner

No work started yet; back to To Do.

No work started yet; back to To Do.
Author
Owner

Shipped in 1.3.0 Beta 1 (commit 2a00db6d94). LLAgentWearables::isWearingItem and LLVOAvatarSelf::isWearingAttachment now look up worn-item sets, which are rebuilt lazily and invalidated by generation counters on every wearable or attachment change. Read-only; no server writes.

Shipped in 1.3.0 Beta 1 (commit 2a00db6d94). LLAgentWearables::isWearingItem and LLVOAvatarSelf::isWearingAttachment now look up worn-item sets, which are rebuilt lazily and invalidated by generation counters on every wearable or attachment change. Read-only; no server writes.
sky_line 2026-10-10 11:04:11 +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#356
No description provided.