perf(saves): strip worker-balance logging from Release builds

Debug-level output only exists in DEBUG builds (LogFactory gates
MinimumLevel.Debug behind #if DEBUG), so Release builds paid for the stat
summing loop, five boxed longs, and the params array inside the freeze for a
log line Serilog would always discard. [Conditional("DEBUG")] removes the
call site entirely in Release.

The per-worker counters stay: since the segment logs landed, per-record
counting is structurally required (RecordCount), and the remaining accounting
is one add per chunk plus two field writes per drain - sub-microsecond per
save - and the drain tests assert against those totals.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kamron Batman 2026-07-14 15:23:25 -07:00
parent 3b75b96008
commit f7c0c9c036
No known key found for this signature in database
GPG key ID: 7D81DF26D9A5D94A

View file

@ -430,6 +430,9 @@ public static class World
}
}
// Debug-level output only exists in DEBUG builds (see LogFactory), so Release builds
// should not pay for the stat summing and argument boxing inside the freeze at all.
[Conditional("DEBUG")]
private static void LogWorkerBalance()
{
var totalEntities = 0L;