Странное распределение в C#C#

Место общения программистов C#
Anonymous
Странное распределение в C#

Сообщение Anonymous »

Почему распределение для данных методов одинаковое?

Код: Выделить всё

[Benchmark(Baseline = true)]
public bool Any()
{
return _persons.Any(x => x.Id == _id);
}

[Benchmark]
public bool FirstOrDefault()
{
var entity = _persons.FirstOrDefault(x => x.Id == _id);
return entity is not null;
}
Результаты:

Код: Выделить всё

| Method         | Size | Mean     | Error   | StdDev  | Ratio | Gen0   | Allocated | Alloc Ratio |
|--------------- |----- |---------:|--------:|--------:|------:|-------:|----------:|------------:|
| Any            | 10   | 113.3 ns | 0.22 ns | 0.20 ns |  1.00 | 0.0166 |     104 B |        1.00 |
| FirstOrDefault | 10   | 113.5 ns | 0.51 ns | 0.46 ns |  1.00 | 0.0166 |     104 B |        1.00 |
Я думал, что FirstOrDefault должен выделить больше, поскольку запись создана.

Подробнее здесь: https://stackoverflow.com/questions/788 ... in-c-sharp

Вернуться в «C#»