# Отчет по лабораторной работе №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) Вывод: Параллельный алгоритм работает быстрее только при наличии большого количества операций. Если операций не так много, то обычный алгоритм справляется быстрее.