
Простыми словами: Latency (время ожидания) vs Response time (время отклика)
В книге "Высоконагруженные приложения" утверждается что это разные понятия, так ли это...
Определения из книги/википедии
Response time (время отклика) - время ответа (реакции) на запрос к сервису.
Пример: Запрос от браузера ушел на сервер, что-то там поделал и вернул страничку пользователю.
Latency (время ожидания) - задержка между инициализацией и физическим изменением в системе.
Пример: То самое "что-то там поделал" из предыдущего примера.
Вот аналогия, не связанная с программированием:
Если наступить на грабли, они ударят вам по лбу.
Время до необходимости прикладывать лед к голове - это время отклика (response time) грабель на ваше действие или ожидание (latency) лбом удара?
Теперь про программирование
Если сравнивать общее (цикл запрос-ответ от браузера) с частным (работой функции), то кажется, что это разные вещи...
А если упростить?
Пришел запрос с сервера, встал в очередь, очередь дошла до этого запроса, вызвалась функция, которая отсортировала массив, и выдала результат сортировки.
Возьмем кусок из этих операций:
Очередь вызывает функцию
С точки зрения очереди, latency - это время до вызова функции или до получения результата ее работы?
Допустим - до получения результата:
Очередь вызвала функцию и получила результат - явно response time (время отклика).
Допустим - до вызова функции:
Запуск функции - это и есть реакция на команду, значит это и есть - response time (время отклика)?