Способы оценки энергопотребления программы

Введение

Что важно пользователю в программе? Корректность работы, скорость, удобный интерфейс... Да. Так же одним из значимых критериев является энергопотребление программы.


Сама программа, конечно же, никакой электроэнергии не потребляет, потребляет компьютер. Но именно при её выполнении тратится энергия. Таким образом Вы, выбирая тот или иной способ написания программы, можете управлять энергопотреблением. Приятно, когда Ваш гаджет работает наделю без подзарядки, а не рабочий день.

Чтобы оценить текущее энергопотребление устройства, работающего от аккумулятора, есть несколько способов. Один из них это использование специальных приборов, снимающих показания об энергопотребление с контактов на устройстве[1]. Так можно получить довольно точную информацию об энергопотреблении на каждой части устройства: экран, видеокарта, процессор... Этот способ предполагает наличие с одной стороны специального прибора, с другой стороны знаний из области электротехники. Одним из других способов является использование программ, позволяющих оценить текущее энергопотребление аккумулятора. Обзор некоторых из них мы и совершим.


Perfmon

Perfomance Monitor - стандартная программа Microsoft Windows (в ранних версиях до Windows XP - System Monitor). Позволяет получать и собирать информацию о многих параметрах системы: о процессоре, физическом диске, файле подкачки, кэше... В т.ч. и о использовании батареи. Чтобы получить требуемую информацию, небходимо создать группу сборщиков данных об интересующих параметрах. После запуска программа предоставит отчёт и отобразит содержимое на графике.Нас интересует discharge rate - мощность разрядки батареи. Чем выше мощность, тем больше энергии потребляет программа. На рисунке отображен составленный программой отчёт  о разрядке батареи:

Perfmon discharge battery

Уровень разрядки батареи отображен красной линией. При запуске приложения, потребляемая мощность увелилчивается.


Intel Power Checker

Программа направлена конкретно на оценку энергопотребления приложения. Позволяет получить текущую потребляемую мощность. Процесс измерения состоит из 3-х этапов: измеряется энергопотребления системы без приложения в состоянии простоя, затем потребляемой мощность с работающим приложением, в завершение потребляемая мощность системы с загруженным, но не работающим приложением. Потребляемая мощность равна разнице между результатами второго и первого пункта соответственно:
Intel Power Checker battery discharge

Работает как Windows системах, так и в Linux.

Заключение

Мы рассомтрели некоторые возможные пути оценки энергопотребления приложения - использование специальных приборов или программ. Пусть Ваши программы будут энергоэффективными!

Ссылки:
Creating Energy-Efficient Software (Part 4)
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione