48 lines
2.6 KiB
Markdown
48 lines
2.6 KiB
Markdown
# Отчет по лабораторной работе №6
|
||
|
||
Выполнила студентка гр. ИСЭбд-41 Гренадерова А.А.
|
||
|
||
## Создание приложения
|
||
|
||
Выбрала язык C#, Windows Forms.
|
||
|
||
Приложение имеет поле ввода матрицы, в которое можно через пробел вносить элементы матрицы.
|
||
Можно сгенерировать матрицу указав её размерность.
|
||
При необходимости можно очистить матрицу и определитель.
|
||
Количество потоков в параллельном алгоритме регулируется в соответствующем поле.
|
||
|
||
Попробуем запустить обычный и паралелльный алгоритмы на матрицах 2 на 2 и зафиксировать результат выполнения по времени.
|
||
|
||
![](screens/2.1.png)
|
||
![](screens/2.2.png)
|
||
|
||
В результате обычный алгоритм выполнился за 0,0004332 секунды, в то время как паралелльный выполнился за 0,0047348 секунды.
|
||
|
||
## Бенчмарки
|
||
|
||
Протестируем обычный и параллельный алгоритм определение детерминанта на различной размерности матрицы.
|
||
|
||
В ходе экспериментов было установлено, что обработка матрицы размеров больше 11 на 11 занимает слишком много времени в обычном алгоритме, поэтому для тестирования возьмем матрицы 4 на 4, 6 на 6 и 11 на 11.
|
||
|
||
Сверху отображен результат обычного алгоритма, снизу паралелльного.
|
||
|
||
Матрица 4 на 4
|
||
|
||
![](screens/4.1.png)
|
||
![](screens/4.2.png)
|
||
|
||
Матрицы 6 на 6
|
||
|
||
![](screens/6.1.png)
|
||
![](screens/6.2.png)
|
||
|
||
Матрицы 11 на 11
|
||
|
||
![](screens/11.1.png)
|
||
![](screens/11.2.png)
|
||
|
||
Сравнение обработки матрицы 11 на 11 на различном количестве потоков паралельного алгоритма.
|
||
|
||
![](screens/11СРазнымиПотоками.png)
|
||
|
||
Вывод: Параллельный алгоритм работает быстрее только при наличии большого количества операций. Если операций не так много, то обычный алгоритм справляется быстрее. |