Измерьте чтение, преобразование и запись отдельно, затем посмотрите CPU-профиль, I/O и ожидания. Наличие горутин не доказывает полезный параллелизм.
Как понять, где узкое место при обработке файла — если построчная обработка кажется медленной, а горутины обрабатывают в цикле?
Измерьте чтение, преобразование и запись отдельно, затем посмотрите CPU-профиль, I/O и ожидания. Наличие горутин не доказывает полезный параллелизм.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Измерьте чтение, преобразование и запись отдельно, затем посмотрите CPU-профиль, I/O и ожидания. Наличие горутин не доказывает полезный параллелизм.
Проверьте размер буферов, частоту системных вызовов, блокировки общего writer и рост очереди. Если CPU свободен, а диск насыщен, новые работники могут не помочь. Если дорогая обработка занимает CPU, сравните ограниченный пул с последовательным вариантом. Сохраняйте одинаковые входные данные и учитывайте влияние файлового кэша на повторные замеры.