Как измерять длительность параллельной работы

Нет: без ожидания измеряется в основном запуск goroutines. Чтобы измерить всю операцию, дождитесь их завершения, а затем считайте time.Since(start).

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

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

Нет: без ожидания измеряется в основном запуск goroutines. Чтобы измерить всю операцию, дождитесь их завершения, а затем считайте time.Since(start).

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

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

Условие

Код сохраняет start := time.Now(), запускает goroutines и сразу печатает time.Since(start). Показывает ли это время завершения всех задач?

Ответ

Нет: без ожидания измеряется в основном запуск goroutines. Чтобы измерить всю операцию, дождитесь их завершения, а затем считайте time.Since(start).

Добавьте WaitGroup или другой явный механизм ожидания. Включайте в измерение именно нужный участок: очередь, сеть и обработку результата, если они входят в пользовательский сценарий. Не обещайте точное число по одному фрагменту кода: планировщик и внешние операции влияют на длительность. Для сравнения нужны повторные измерения.

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

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

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

Подробнее