distributed-computing/tasks/klementeva-ja/lab_5/README.md

72 lines
2.8 KiB
Markdown
Raw Normal View History

2023-12-16 11:45:24 +04:00
# Отчет по лабораторной работе №5
Выполнила студентка группы ИСЭбд-41 Клементьева Жанна
## Разработка приложения на С# с использованием Windows Forms.
Особенности разработанного приложения:
1. В данном приложении есть два поля для ввода матриц, которые затем переумножаются, и одно поле-результат.
2. Матрицы можно сгенерировать внутри программы.
3. Размер матрицы также можно регулировать в поле "размер матрицы".
4. При необходимости можно очистить все матрицы.
5. Также есть флажок выключения вывода значений матриц в текстовые поля, т.к. это занимает слишком много времени.
6. Количество потоков в параллельном алгоритме регулируется в соответствующем поле.
Таким образом выглядит форма приложения:
![](pic/1.png)
При выборе обычного алгоритма:
![](pic/2о.png)
При выборе параллельного алгоритма:
![](pic/2параллельный.png)
Время выполнения обычного алгоритма: 00:00:00.0004469
Время выполнения параллельного алгоритма: 00:00:00.0176337
## Бенчмарки
Далее по заданию необходимо было протестировать два алгоритма с матрицами размеров 100х100, 300х300 и 500х500.
Сверху отображен результат обычного алгоритма, снизу паралелльного.
Матрицы 100х100 (приложены в .txt форматах):
Обычный алгоритм:
![](pic/об100100.png)
Параллельный алгоритм:
![](pic/пар100100.png)
Матрицы 300х300(приложены в .txt форматах):
Обычный алгоритм:
![](pic/об300300.png)
Параллельный алгоритм:
![](pic/пар300300.png)
Матрицы 500х500(приложены в .txt форматах):
Обычный алгоритм:
![](pic/500500об.png)
Параллельный алгоритм:
![](pic/500500пар.png)
Заключение: параллельный алгоритм работает быстрее, если данных больше. Если элементов немного, то обычный алгоритм справляется быстрее.