Как понять, где узкое место при обработке файла — если построчная обработка кажется медленной, а горутины обрабатывают в цикле?

Измерьте чтение, преобразование и запись отдельно, затем посмотрите CPU-профиль, I/O и ожидания. Наличие горутин не доказывает полезный параллелизм.

Короткий ответ

Что ответить на собеседовании

Измерьте чтение, преобразование и запись отдельно, затем посмотрите CPU-профиль, I/O и ожидания. Наличие горутин не доказывает полезный параллелизм.

Подробный разбор

Ответ с пояснениями

Измерьте чтение, преобразование и запись отдельно, затем посмотрите CPU-профиль, I/O и ожидания. Наличие горутин не доказывает полезный параллелизм.

Проверьте размер буферов, частоту системных вызовов, блокировки общего writer и рост очереди. Если CPU свободен, а диск насыщен, новые работники могут не помочь. Если дорогая обработка занимает CPU, сравните ограниченный пул с последовательным вариантом. Сохраняйте одинаковые входные данные и учитывайте влияние файлового кэша на повторные замеры.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее