Нет: без ожидания измеряется в основном запуск goroutines. Чтобы измерить всю операцию, дождитесь их завершения, а затем считайте time.Since(start).
Как измерять длительность параллельной работы
Нет: без ожидания измеряется в основном запуск goroutines. Чтобы измерить всю операцию, дождитесь их завершения, а затем считайте time.Since(start).
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Код сохраняет start := time.Now(), запускает goroutines и сразу печатает time.Since(start). Показывает ли это время завершения всех задач?
Ответ
Нет: без ожидания измеряется в основном запуск goroutines. Чтобы измерить всю операцию, дождитесь их завершения, а затем считайте time.Since(start).
Добавьте WaitGroup или другой явный механизм ожидания. Включайте в измерение именно нужный участок: очередь, сеть и обработку результата, если они входят в пользовательский сценарий. Не обещайте точное число по одному фрагменту кода: планировщик и внешние операции влияют на длительность. Для сравнения нужны повторные измерения.