现象
SharpLink.UnitTests.Server.ServerRequestEnvelopeReaderTests.ReadSteadyStateWithoutOptionalFieldsShouldAllocateNothing 在受控的远端 Release 测试环境中偶发报告极小分配,即使代码基线也会复现。
已确认的证据
在 192.168.31.242、.NET 10、固定 CPU 4–15、flock 串行、相同短 TMPDIR / DOTNET_CLI_HOME 下:
候选与基线在该 Server envelope reader 路径没有源码差异;#136 只改动 stream dispatcher 生命周期。因此这不是 #136 的性能回归,但当前断言/预热或测量隔离存在非确定性。
期望
- 找出这 40B 的来源,或让测量在真正稳态后、以不掩盖真实回归的方式确定化;
- 保持真实零分配门禁,不以任意阈值或重试掩盖回归;
- 在同一进程和隔离进程中反复运行目标测试都稳定;
- 记录在 CI/远端门禁中应如何处理已证实的基线波动。
非目标
不把这个测试问题混入 Phase 14/#136 的功能改动。
现象
SharpLink.UnitTests.Server.ServerRequestEnvelopeReaderTests.ReadSteadyStateWithoutOptionalFieldsShouldAllocateNothing在受控的远端 Release 测试环境中偶发报告极小分配,即使代码基线也会复现。已确认的证据
在 192.168.31.242、.NET 10、固定 CPU 4–15、
flock串行、相同短TMPDIR/DOTNET_CLI_HOME下:dev@2af21dc2ad340b398bf3a9f208c28058111df820:目标测试失败,40 bytes over 20000 calls。ed140b46f490947f9d9a686aaa27b42d3acc3b8a:同一目标测试同样失败,40 bytes over 20000 calls。820/820。候选与基线在该 Server envelope reader 路径没有源码差异;#136 只改动 stream dispatcher 生命周期。因此这不是 #136 的性能回归,但当前断言/预热或测量隔离存在非确定性。
期望
非目标
不把这个测试问题混入 Phase 14/#136 的功能改动。