ModernUO/Projects
Kamron Batman 3cc24128e3
docs: correct the maxEntries remark for the HashSet and ring
The remark was written when the store was a Dictionary and the reclaim was
a full scan. Three things in it were stale:

It named a Dictionary capacity. HashSet and Dictionary share HashHelpers,
so the from-empty progression is identical (verified: 36,353 -> 75,431 ->
156,437 -> 324,449 -> 672,827 for both) and 324,449 is still exactly right
-- but it is a HashSet capacity now.

It priced a slot at 52 bytes. Measured, a HashSet<UInt128> slot is 36 and a
Dictionary<UInt128,long> slot is 52, so the total is ~19 MB at this cap (36
a set slot plus 24 a ring record), not ~17 MB.

It quoted full-sweep costs of ~6 ms here and ~26 ms at 968,897 as the price
of raising it. That sweep no longer exists; holds are retired from the ring
in expiry order, so the ceiling is memory rather than an on-loop scan.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 23:18:32 -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 docs: correct the maxEntries remark for the HashSet and ring 2026-08-13 23:18:32 -07:00
UOContent.Tests refactor: review pass over the auto-denylist ring 2026-08-13 22:37:25 -07:00