第一张图片中使用的记忆工具来自 Rider。据我所知,它显示了托管堆的分配。第二张图显示了 BenchmarkDotNet 的结果。
为什么 Rider 显示已进行分配,但 BenchmarkDotNet 表明未对堆进行分配?
如果我改用下面的代码示例,BenchmarkDotNet 会选择分配:
var i = new int[0];
.net c# benchmarking allocation
.net ×1
allocation ×1
benchmarking ×1
c# ×1