Коротка відповідь
Дванадцять секунд — це досить довго, щоб проявився рідкісний сплеск, і досить коротко, щоб люди справді дотерпіли до кінця.
Довша відповідь
Цікаві події — це не середнє, а рідкісні випадки. Драйвер, який раз на кілька секунд утримує ядро 5 ms, — це саме те, що дає ривок, який ти помічаєш, і бенчмарк, у якому нічого не видно. Щоб побачити те, що трапляється раз на кілька секунд, вікно має бути в кілька разів довшим за цей проміжок.
Три секунди спіймали б середнє й проґавили сплеск, тобто дали б чистий результат на машині зі справжньою проблемою. Це найгірше, чим може закінчитися вимірювання.
Тридцять секунд спіймали б більше. І це була б сторінка, яку більшість людей кинула б на півдорозі, а покинуте вимірювання не вимірює нічого.
Чому потрібен саме твій рух
Частота миші береться з потоку raw input: один звіт на рух, так, як його надсилає пристрій. Немає руху — немає звітів, немає чого міряти.
Міряти час звичайних подій миші у Windows теж не вийшло б. Вони йдуть через чергу повідомлень, яка зливає їх приблизно до частоти самого інтерфейсу — миша на 1000 Гц і миша на 125 Гц крізь неї виглядають однаково. Це справжня вада, яка в цієї функції була, і читання raw input — її виправлення.
Як зробити правильно
- Рухай мишею безперервно, так, як рухав би у грі, — а не одним повільним протягуванням по столу.
- Хай машина в усьому іншому лишиться такою, як зазвичай. Якщо спершу все позакривати, ти виміряєш машину, якою ніколи не користуєшся.
- Запусти тест ще раз потім, щоб порівняти. Сторінка зберігає твої останні прогони й показує зміну; різниця менша за 5% подається як «без змін», бо це вже в межах шуму.
Пов'язане
Ця сторінка допомогла?
Чого бракувало або що не спрацювало? Ми читаємо кожну таку відповідь.
Якщо ця сторінка не розв'язала проблему, напиши нам — скажи, яку статтю ти читав, і ми виправимо статтю.