LL perf (Inventory): Small items #358

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

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

Small items

  • updateIsDirty called twice in updateAppearanceFromCOF (llappearancemgr.cpp:2820, 2830); repeated COF and base re-collects (:2686, 3594, 3800).
  • addChangedMask → update_marketplace_category per change (llinventorymodel.cpp:2342; LL: "probably shouldn't be here").
  • getBOOL("ChatOnlineNotification") per packet.
  • Pathfinding floaters re-request the whole list after each action and key by uuid.asString().

Checked and fine:

  • parcel hover requests (dedupe)
  • send_agent_update throttle
  • sendListToRegions batching
  • multi-object deselect batching
  • avatar-properties dedupe
  • region-crossing path
  • group property throttle

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

From the LL-origin inefficiency audit (finding I24). File/line references are from commit 0229f8872c; re-locate them before working. **Small items** - `updateIsDirty` called twice in `updateAppearanceFromCOF` (`llappearancemgr.cpp:2820, 2830`); repeated COF and base re-collects (`:2686, 3594, 3800`). - `addChangedMask` → `update_marketplace_category` per change (`llinventorymodel.cpp:2342`; LL: "probably shouldn't be here"). - `getBOOL("ChatOnlineNotification")` per packet. - Pathfinding floaters re-request the whole list after each action and key by `uuid.asString()`. **Checked and fine:** - parcel hover requests (dedupe) - `send_agent_update` throttle - `sendListToRegions` batching - multi-object deselect batching - avatar-properties dedupe - region-crossing path - group property throttle 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

One item done in 1.3.0 Beta 1 (commit 0ed04437be): removed the duplicate updateIsDirty() in updateAppearanceFromCOF. Skipped for now, all needing profiling or a careful refactor: repeated COF/base re-collects (llappearancemgr.cpp :2686, :3594, :3800), update_marketplace_category in addChangedMask (already cached), and the pathfinding floaters keyed by uuid.asString() (changing the key would change row order).

One item done in 1.3.0 Beta 1 (commit 0ed04437be): removed the duplicate `updateIsDirty()` in `updateAppearanceFromCOF`. Skipped for now, all needing profiling or a careful refactor: repeated COF/base re-collects (llappearancemgr.cpp :2686, :3594, :3800), `update_marketplace_category` in `addChangedMask` (already cached), and the pathfinding floaters keyed by `uuid.asString()` (changing the key would change row order).
Author
Owner

One item shipped in 1.3.0 Beta 1 (duplicate updateIsDirty removed) and the ChatOnlineNotification lookup is cached in 1.3.0 Beta 2. The rest needs profiling or a careful refactor, so this goes back to the backlog.

One item shipped in 1.3.0 Beta 1 (duplicate updateIsDirty removed) and the ChatOnlineNotification lookup is cached in 1.3.0 Beta 2. The rest needs profiling or a careful refactor, so this goes back to the backlog.
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#358
No description provided.