ModernUO/Projects
Kamron Batman 87ddb22369
perf: raise the auto-denylist cap to 324,449 to cover observed floods
Distinct-source floods of 50k-250k machines are seen in practice, which
overflows a 156,437 cap. Past the cap Hold() refuses to track, so those
addresses are still disconnected by whichever gate caught them but pay full
detection cost on every reconnect instead of a cheap accept-gate deny --
the expensive path during exactly the event the list exists for.

324,449 is the next Dictionary capacity in the from-empty progression
(36,353 -> 75,431 -> 156,437 -> 324,449), so it fills one exactly. ~17 MB.

The hot-path cost barely moves: cap-triggered sweeps are throttled to one a
second, so a flood pays 0.65ms/sec, 0.065% of the loop. Only the flood-end
sweep grows, from ~2ms to ~6ms, once.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 22:02:56 -07:00
..
Application fix: Bumps dependencies. (#2531) 2026-07-14 15:17:55 -07:00
BuildTool fix: Require only runtime packages on Linux, and check ICU and tzdata the way the runtime does (#2561) 2026-08-07 15:03:08 -07:00
Logger fix: Bumps dependencies. (#2531) 2026-07-14 15:17:55 -07:00
Server fix: stop the idle-sleep backoff tripping on healthy hosts (#2572) 2026-08-13 19:58:03 -07:00
Server.Tests fix: stop stack merges and splits from laundering PlayerConstructed (#2576) 2026-08-13 19:18:06 -07:00
UOContent perf: raise the auto-denylist cap to 324,449 to cover observed floods 2026-08-13 22:02:56 -07:00
UOContent.Tests perf: stop the auto-denylist re-sweeping for every rejected address 2026-08-13 21:42:33 -07:00