Странности тестов .NET 10 (по сравнению с .NET 9)C#

Место общения программистов C#
Ответить
Anonymous
 Странности тестов .NET 10 (по сравнению с .NET 9)

Сообщение Anonymous »

Я запускаю следующий тест только для того, чтобы оценить новую .NET 10:

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

[SimpleJob(RuntimeMoniker.Net90)]
[SimpleJob(RuntimeMoniker.Net10_0)]
[MemoryDiagnoser]
[HardwareCounters(BenchmarkDotNet.Diagnosers.HardwareCounter.CacheMisses)]
public class BenchmarkArray
{
private const int Size = 10000;

[Benchmark(Baseline = true)]
public void ByRow()
{
var a = new int[Size, Size];

for (int i = 0; i < Size; i++)
{
for (int j = 0; j < Size; j++)
{
a[i, j] = 1;
}
}
}

[Benchmark]
public void ByColumn()
{
var a = new int[Size, Size];

for (int i = 0; i < Size; i++)
{
for (int j = 0; j < Size;  j++)
{
a[j, i] = 1;
}
}
}
}
Я получил следующие результаты, которые не могу объяснить:
Изображение



Метод
Задание
Время выполнения
Среднее
Ошибка
StdDev
Соотношение
RatioSD
CacheMiisses/Op
Gen0
Gen1
Gen2
Выделено
Коэффициент распределения




По строкам
.NET 10.0
.NET 10.0
88,33 мс
1,710 мс
2,506 мс
1,00
0,04
839,652
500,0000
500,0000
500,0000
381,47 МБ
1,00


По столбцу
.NET 10.0
.NET 10.0
604,82 мс
11,852 мс
18,099 мс
6,85
0,30
131 136 083
-
-
-
381,47 МБ
1,00


















По строке
.NET 9.0
.NET 9.0
74,40 мс
0,433 мс
0,405 мс
1,00
0,01
385 752
833,3333
833.3333
833.3333
381,47 МБ
1,00


Поколонке
.NET 9.0
.NET 9.0
547,86 мс
2,367 мс
1,976 мс
7,36
0,05
132 626 295
-
-
-
381,47 МБ
1,00



Количество промахов в кэше увеличилось, а количество коллекций GC уменьшилось.
В чем причина этих изменений по сравнению с .NET 9?

Подробнее здесь: https://stackoverflow.com/questions/798 ... g-to-net-9
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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