我在尝试使用BenchmarkDotNet及其MemoryDiagnoser功能。
考虑以下基准测试:
[Benchmark]
public void Dummy()
{
var buffer = new byte[1];
}
我期望它只会分配1个字节。
但是基准测试结果显示总共分配了32个字节。为什么呢?我觉得这很具有误导性。
| Method | Mean | Error | StdDev | Median | Ratio | Rank | Gen 0 | Gen 1 | Gen 2 | Allocated |
|------- |---------:|----------:|----------:|---------:|------:|-----:|-------:|------:|------:|----------:|
| Dummy | 4.486 ns | 0.1762 ns | 0.5196 ns | 4.650 ns | 1.00 | 1 | 0.0038 | - | - | 32 B |
why not 1 byte? ^^^^