Skip to content
This repository was archived by the owner on Aug 3, 2024. It is now read-only.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyJavaHomeWorkTask2

Аргументы командной строки:

<тип решения> <путь к файлу первой матрицы> <Путь к файлу второй матрицы> <Путь к результату>

Возможные типы решения:

1.  parallel <p> -- многопоточное умножение (p>=1).
2.  oneThread -- обычное умножение, не создающее новых процессов.
3.  recursive -- умножение с применением алгоритма Штрассена.

Генерация случайной матрицы:

-random <путь к файлу> <высота> <ширина>

Результаты измерений (1000x1023 * 1023x1012):

Запуск в однопоточном режиме:

image
image

Запуск в многопоточном режиме:

image
image

image
image

image
image

image
image

image
image

Запуск с использованием алгоритма Штрассена в одном потоке:

image
image

Результаты измерений (500x700 * 700x500):

Запуск в однопоточном режиме:

image
image

Запуск в многопоточном режиме:

image

image

image

image

image

Запуск с использованием алгоритма Штрассена в одном потоке:

image

--

Вывод:

  1. Минимальное время работы достигается при использовании 4-х потоков, это обусловлено тем, что у меня 4-x поточный процессор (Pentium G4560).
  2. Результаты работы алгоритма Штрассена показывают, что эффективность непосредственно самого алгоритма является более важным фактором, нежели чем просто эффективное использование ресурсов системы, выполняющей его.
  3. Неэффективность алгоритма Штрассена во втором случае можно объяснить тем, что для его применения необходимо дополнить матрицу нулевыми строками и столбцами до матрицы a*2^n x a*2^n (a < 128).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages