Почему мой код умножения матрицы медленнее после обновления до .NET 9 от .NET 4.8.1?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Почему мой код умножения матрицы медленнее после обновления до .NET 9 от .NET 4.8.1?

Сообщение Anonymous »

Проблема объяснена в заголовке. Каждая другая часть моего кода быстрее, иногда значительно. Я не понимаю, почему это будет исключением. Мне было отмечено, что это может быть не справедливым сравнением, но мои навыки кодирования недостаточно хороши, чтобы сделать лучше. Но все еще было несоответствие даже после того, как это было учтено, как показывают ниже Times. Что может вызвать это?int n = 3500;
float[][] table = new float[n][];
for (int i = 0; i < n; i++)
{
table = new float[n];
}
Random random = new Random();
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
table[j] = random.Next(0, 10);
}
}
float[][] result = new float[n][];
for (int i = 0; i < n; i++)
{
result = new float[n];
}
Stopwatch timer = Stopwatch.StartNew();
_ = Parallel.For(0, n, i =>
{
float[] Col = new float[n]; // transpose column

for (int j = 0; j < n; j++)
{
Col[j] = table[j];
}
for (int j = 0; j < n; j++)
{
float Sum = 0;
for (int k = 0; k < n; k++)
{
Sum += table[j][k] * Col[k];
}
result[j] = Sum;
}
});
timer.Stop();
Console.WriteLine(timer.Elapsed.ToString());
< /code>
times: < /p>
.NET 9 x64 |.NET 9 x86 |.NET 4.7.2 x64|.NET 4.7.2 x86|
00:13.3087043 |00:10.9601159 |00:11.6869943 |00:08.5178868 |
00:12.5431243 |00:10.5710526 |00:11.3674427 |00:08.2776998 |
00:12.5099676 |00:10.5648776 |00:11.3654807 |00:08.4932501 |
00:12.4874089 |00:10.6053297 |00:11.3640068 |00:08.2497675 |
00:12.4745842 |00:10.6395537 |00:11.3403725 |00:08.3103651 |
00:12.5203654 |00:10.5583894 |00:11.3784905 |00:08.2825209 |
00:12.5146858 |00:10.7179134 |00:11.3615901 |00:08.2712236 |
00:12.4945682 |00:10.6721854 |00:11.3416475 |00:08.1901803 |
00:12.5070434 |00:10.4989947 |00:11.3353411 |00:08.2445614 |
00:12.6570548 |00:10.4965260 |00:11.3766402 |00:08.2095575 |


Подробнее здесь: https://stackoverflow.com/questions/797 ... from-net-4
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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