Skip to content

Reduce inactive quest scans and disabled debug allocations - #891

Closed
WarnDa wants to merge 2 commits into
LMBishop:masterfrom
WarnDa:perf/active-quest-candidates
Closed

WarnDa wants to merge 2 commits into
LMBishop:masterfrom
WarnDa:perf/active-quest-candidates

Conversation

@WarnDa

@WarnDa WarnDa commented Nov 13, 2026 •

Copy link
Copy Markdown
  • Cache ordered quest candidates per player/task type, retaining live progress and constraint checks.
  • Skip dynamic debug strings when no debugger is listening.

The cache retains autostart entries, invalidates on lifecycle/registration changes, and synchronizes access. Custom controllers, global autostart and exposed mutable maps use the original traversal.

Validated: Java 25 build and compatibility JARs, 3 existing tests and 143 local checks. No added test files or dependencies.

Combined with #889, two A/B pairs with 50 bots, 1,000 definitions and 35 active quests per player (bossbars on, debug off) measured 2.631 → 3.166 mean MSPT. Selection received fewer main-thread stack samples, but no server-wide gain is established. Spike causes remain unresolved.

Profiles: base 1 / both 1, base 2 / both 2.

@WarnDa
WarnDa marked this pull request as draft November 14, 2026 00:08
@WarnDa WarnDa closed this Nov 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant