38 lines
2.2 KiB
Markdown
38 lines
2.2 KiB
Markdown
|
# Отчет по лабораторной работе №5
|
|||
|
|
|||
|
Выполнил студент гр. ИСЭбд-41 Дунаев О.И.
|
|||
|
|
|||
|
## Создание приложения
|
|||
|
|
|||
|
Выбрал язык C#, Windows Forms.
|
|||
|
|
|||
|
Приложение имеет три текстовых поля, в которых можно через пробел вносить элементы матрицы. В матрицы-множители значения можно сгенерировать внутри программы. Размерность можно регулировать от 2 до 1000 в специальном поле. При необходимости можно очистить все матрицы. Также есть флажок выключения вывода значений матриц в текстовые поля, т.к. это занимает слишком много времени. Количество потоков в параллельном алгоритме регулируется в соответствующем поле.
|
|||
|
|
|||
|
Попробуем запустить обычный и паралелльный алгоритмы на матрицах 10х10 и зафиксировать результат выполнения по времени.
|
|||
|
|
|||
|
![](pic/1.png)
|
|||
|
![](pic/2.png)
|
|||
|
|
|||
|
|
|||
|
## Бенчмарки
|
|||
|
|
|||
|
Протестируем обычный и параллельный алгоритм матрицах 100х100, 300х300 и 500х500.
|
|||
|
Сверху отображен результат обычного алгоритма, снизу паралелльного.
|
|||
|
|
|||
|
Матрицы 100х100
|
|||
|
|
|||
|
![](pic/3.png)
|
|||
|
![](pic/4.png)
|
|||
|
|
|||
|
Матрицы 300х300
|
|||
|
|
|||
|
![](pic/5.png)
|
|||
|
![](pic/6.png)
|
|||
|
|
|||
|
Матрицы 500х500
|
|||
|
|
|||
|
![](pic/7.png)
|
|||
|
![](pic/8.png)
|
|||
|
|
|||
|
|
|||
|
Вывод: Параллельный алгоритм работает быстрее только при наличии большого количества операций и данных. Если элементов не так много, то обычный алгоритм справляется быстрее. Также была обнаружено оптимальное количество потоков для лучшей работы обработки матриц 500х500 - 4 потока.
|