test(ci): harden scheduling and allocation gates
All checks were successful
CI / linux-portable (push) Successful in 3m30s
CI / windows-gate (push) Successful in 6m15s
CI / release (push) Successful in 2m11s

This commit is contained in:
Erik 2026-08-27 19:28:10 +02:00
parent c4608b1127
commit d123c4b67c
11 changed files with 101 additions and 87 deletions

View file

@ -71,10 +71,9 @@ public class CellViewDedupTests
// Warm the method/JIT before measuring. Duplicate portal emissions are the hot path.
Assert.False(view.Add(polygon));
long before = GC.GetAllocatedBytesForCurrentThread();
for (int i = 0; i < 1_000; i++)
Assert.False(view.Add(polygon));
long allocated = GC.GetAllocatedBytesForCurrentThread() - before;
long allocated = ZeroAllocationProbe.MeasureWarmed(
() => _ = view.Add(polygon),
batchSize: 1_000);
Assert.True(allocated <= 256, $"duplicate probes allocated {allocated:N0} bytes");
}
@ -91,13 +90,13 @@ public class CellViewDedupTests
view.Reset();
Assert.True(view.Add(polygon));
long before = GC.GetAllocatedBytesForCurrentThread();
for (int i = 0; i < 1_000; i++)
{
view.Reset();
Assert.True(view.Add(polygon));
}
long allocated = GC.GetAllocatedBytesForCurrentThread() - before;
long allocated = ZeroAllocationProbe.MeasureWarmed(
() =>
{
view.Reset();
_ = view.Add(polygon);
},
batchSize: 1_000);
Assert.True(allocated <= 256, $"steady rebuilds allocated {allocated:N0} bytes");
}