| **1200x1200** | 1 | 1.7012 s | 1.8796 s | 0.91 |
| | 2 | 1.7012 s | 1.5037 s | 1.13 |
| | 4 | 1.7012 s | 1.0827 s | 1.57 |
| | 6 | 1.7012 s | 0.8606 s | 1.98 |
| | 8 | 1.7012 s | 0.8093 s | 2.10 |
| | 12 | 1.7012 s | 0.8072 s | 2.11 |
| | 16 | 1.7012 s | 0.9291 s | 1.80 |
## Выводы
Из результатов видно, что ускорение при использовании параллельного алгоритма зависит от размера матрицы и количества потоков:
- Для небольших матриц (например, 100x100) параллельный алгоритм не даёт значительного ускорения из-за накладных расходов на создание потоков.
- Для больших матриц (например, 1000x1000 и 1200x1200) параллельный алгоритм даёт существенное ускорение, достигая оптимальных значений при использовании 8–12 потоков.
- Увеличение количества потоков сверх количества ядер процессора не улучшает производительность и даже может её снижать из-за накладных расходов на управление потоками.
Таким образом, для эффективного параллельного вычисления детерминанта матриц важно учитывать размер данных и правильно подбирать количество потоков.