Сколько мегаватт-часов сжег человечеству таймер ядра Windows

18.07.2013 11:02
Технологии

Программист из компании Valve провел расследование и выяснил, что в предыдущих версиях Windows частоту таймера повышали различные программы Microsoft. Таким образом, программисты этой компании ответственны за «мегаватт-часы излишне потраченной человечеством энергии».

Интервал разрешения таймера ядра Windows по умолчанию — 15,6 миллисекунды, он же максимальный интервал. Это значит, что как минимум 64 раза в секунду ядро операционной системы издает периодическое прерывание (тактовый тик). Частоту прерываний можно существенно повысить, хотя Microsoft не рекомендует делать это, особенно на мобильных устройствах (ноутбук) из-за значительного повышения расхода электроэнергии.

Microsoft решила проблему в Windows 8, перейдя на таймер без прерываний (tickless timer). В Windows 7, как и в предыдущих версиях Windows, этот интервал не превышает 15,6 миллисекунд.

Программист из компании Valve Брюс Доусон провел собственное расследование — и выяснил, что в предыдущих версиях Windows частоту таймера повышали различные программы Microsoft, в том числе Visual Studio 11 из-за бага в WPF, SQL Server и проч.

Таким образом, программисты Microsoft ответственны за «мегаватт-часы излишне потраченной человечеством энергии», с иронией пишет Доусон. Впрочем, в повышении частоты таймера замечен также браузер Google Chrome.

Узнать текущее частоту тиков таймера можно с помощью утилиты clockres.

Для изменения настроек таймера и установки интервала обратно на 15,6 миллисекунды с целью экономии заряда аккумуляторов используйте timeBeginPeriod. Оценить расход энергии в разных режимах таймера можно с помощью утилиты Intel Power Gadget на совместимых процессорах Intel.

По оценке Доусона, повышение разрешения системного таймера Windows приводит к повышению энергопотребления примерно на 0,3 Ватта, а также уменьшает производительность компьютера на величину от 2,5% до 5% из-за того, что ядро системы чаще обращается к процессору.