Проще всего это проверять на тач-интерфейсах. Дают пользователям две разных программы 1ms vs 70ms и просят сравнить. 70 - однозначно медленно, 1ms - очень быстро, где граница?
Перетаскивание
Когда перетаскивают что-то по экрану, пользователи чувствуют, когда latency увеличивается больше 2ms (зависит от человека)
Рисование
В Литературе можно найти данные, что приемлимый уровень задержек при рисовании “ручкой” - от 20 до 80мс. По факту, лучше не уходить от 20мс
Нажатие кнопок
Уровень чувствительности ~ 70мс
Понятное дело, ни одна ОС не пытается минимизировать отклик до 1-2мс.
Печатание
Уровень чувствительности ~70ms
Таблица с разными устройствами и задержка печати.
Apple IIe 30ms
Macbook Pro 2014 100ms
Samsung S3 150ms
Работа с мышью
Уровень чувствительности ~34ms
Большой разброс, от единиц ms (хорошее hardware + аккуратное программирование), до >100ms при плохом hw + неправильной работе с буферами io
Приложения
Какой правильный ответ про “отзывчивость приложений”?
Один ответ - типичные “70ms” -> вы будете замечать задержку между нажатием и изменением приложения.
Сильно зависит от ожиданий пользователей. Никто не ждет, что вы нажмете кнопку, и страница откроется < 70ms
Google RAIL модель, “<100ms -> immediate result”
Самая быстрая реакция человека ~220ms, но он еще должен успеть “подумать”
Авторы думают, что ~100ms - это ок
Real-world apps
1000ms Google поиск - намного быстрее, чем большинство сайтов, но это все равно долго.
Большинство “встроенных” в ОС приложений < 100ms
Куча приложений, которые намного хуже 100ms: Slack (о да!)
Полная переработка работы с Hex пакетами, поддержка нового протокола hex v2, поддержка их новой концепции “private organization”, поддержка локальных зеркал и self-hosted индексов (!)
Hex позволяет приватные организации, надо платить деньги!!
большая переработка системы плагинов вокруг кастомных компиляторов и провайдеров ресурсов
собирать elixir приложения как зависимости внутри rebar3
возможность собирать только зависимости (docker images)
возможность поставить в тест брейкпоинт, чтобы получить repl консоль в точке
внезапно понял, что большую часть этого релиза делал мой коллега, с которым мы следующий проект будем пилить