Существует много аспектов, которые могут влиять на энергопотребление приложения, и они будут сильно различаться в зависимости от используемого оборудования.
Самый простой способ получить представление - measure it. Если ваша программа делает тяжелые вычисления, довольно просто измерить разницу. Просто зачитайте использование, пока приложение запущено, и вычитайте использование, пока нет.
Если ваше приложение не относится к тяжелым вычислениям, тогда задача распределяется побольше, так как простой 1-точечный сопоставления времени не будет делать трюк. Вы можете получить измерительное устройство, которое может регистрировать использование с течением времени, в каком журнале вам нужно будет сравниться с зарегистрированной технологией вашего устройства и попытаться отфильтровать все другие запланированные задачи (проверки обновлений и т. Д.).
Просто совет, если вы хотите пройти этот путь, ИБП APC поставляется с этой встроенной функциональностью, а программное обеспечение PowerChute хранит журнал потребления энергии в базе данных доступа (C: \ Program Files \ APC \ PowerChute Personal Edition \ EnergyLog.mdb). Я не уверен, что это верно для всех моделей, но это была прекрасная дополнительная функция, которая появилась с моим (Pro 550). Я бы закладывать данные наряду с Xperf trace (бесплатным встроенным профайлером в Windows, look here for an overview), для того, чтобы соотнести изменения мощности с вашей активностью приложений и отфильтровать запланированные задания и т.д. ...
Тем не менее, помните, что вы будете получить разные результаты на разных аппаратных средствах. Ssd будет отличаться от традиционного жесткого диска, и используемый адаптер grafix также может иметь значение, поэтому вы можете получить приблизительную оценку в целом, измерив «типичную» систему. Настольные системы будут потреблять больше, чем ноутбуки и т. Д. (Также см. this blogpost).
Инструменты для профилирования мощности являются более распространенными для мобильных устройств. Я не специалист в этой области, но я знаю, что там есть довольно tools.
Запуск автономной программы и использование монитора активности (mac) или диспетчера задач/процессов (windows) –
Вам также необходимо учитывать долю программы в использовании монитора, выходе звука, сети (как WiFi, так и проводной) , увеличение использования переменного тока и освещения в помещении, в котором находится устройство, и т. д. Будет ли компьютер спал или выключен, если программа не была запущена, т. е. компьютер только для запуска программы или многозадачность? Если многозадачность, сколько теряется эффективность переключения между процессами? – iamnotmaynard
Это очень интересный вопрос, который нужно рассмотреть. Несколько лет назад я прочитал отчет, который пытался рассчитать, сколько энергии используется один поисковый запрос Google. Конечно, у меня нет ссылки или не помню, каков был результат, но это было удивительно высоко для одного нажатия кнопки. – iamnotmaynard