# Шаблон отчёта по лабораторной работе > Скопируйте этот файл в папку своей лабораторной (например, > `lab02_threads/отчёт.md`), заполните и приложите графики. - **ФИО:** ____________ - **Группа:** ____________ - **Вариант:** № ____ из `common/варианты.md` - **Задача:** ____ (описание + параметры варианта) - **ОС / CPU / объём RAM:** ____ (например: Windows 11, AMD Ryzen 5 5600, 16 ГБ) ## 1. Цель работы (2–3 предложения своими словами) ## 2. Краткая теория (5–10 предложений: какие механизмы использовались и почему именно они подходят/не подходят для вашей задачи. Переписывать методичку не нужно — сформулируйте понимание своими словами.) ## 3. Описание решения - что разбивается на части и почему именно так; - что выполняет каждый воркер; - как собирается итог; - какие средства синхронизации использованы и зачем (если использовались). ## 4. Результаты замеров Таблица: время T(p) для p = 1, 2, 4 (…), ускорение S(p) = T(1)/T(p), эффективность E(p) = S(p)/p. | Подход | T, c | S(p) | E(p) | |---|---|---|---| | последовательно | | 1.00 | 1.00 | | потоки, p=2 | | | | | потоки, p=4 | | | | Как замерять: `common/benchmark.py` (`time_call`, минимум 3 повтора, берётся лучшее время). Замеры — на спокойной машине, без фоновых программ. ## 5. Графики - график ускорения S(p) — `save_speedup_plot` из `common/benchmark.py`; - при необходимости — столбчатая диаграмма времени. Вставьте сюда картинки: ![ускорение](speedup.png) ## 6. Анализ Ответьте письменно (по 2��5 предложений на пункт): 1. Получено ли ускорение? На сколько? Совпадает ли с ожиданиями? 2. Почему именно такая модель (потоки/процессы/async) подходит или не подходит вашей задаче? 3. Наблюдались ли накладные расходы (запуск процессов, передача данных, синхронизация)? Где они видны в замерах? 4. Что ограничивает дальнейший рост ускорения (GIL, память, число ядер, доля последовательного кода)? ## 7. Выводы (3–6 предложений: что изучено, какие практические выводы сделаны.) ## 8. Ответы на контрольные вопросы (Из конца методички. Полными предложениями, своими словами.)