Despite this question is specifically about battery life, I am adding this as an answer because the comment space is to small. Desktop users might just want to reduce power consumption too. That is why I did four 8 hour running power consumption measurements in September 2014 at the wall socket (230VAC 50Hz) with recent Haswell hardware.
Average monthly kWh* after 8 hours of running in an idle state are:
For recent hard- and software you might want to enable all
Quick wins are enabling PCIe ASPM for the network interfaces, and verify that your package goes to state
pc6 or lower.
The different measurements - based on groups of optimizations - are named:
- None, autosuspend for USB devices is enabled =>
- Minimal, enabled PCIe ASPM and SATA LPM =>
- Optimal, containing a set of optimised settings inspired by the suggestions from Colin Ian King, trying to enabled only gains and keep losses disabled:
- Turn off NMI watchdog,
- Enable VM writeback timeout,
- Enable runtime PM for E3-1200 v3/4th Gen Core Processor PCIe x16 controller
- Enable runtime PM for 4th Gen Core Processor DRAM controller
- Enable runtime PM for Realtek RTL8111/8168/8411 PCIe gigabit controller
- Enable wake-on-lan status for device p5p1
- Powertop --auto_tune, most optimal tunings according to powertop tuning.
* higher numbers mean more energy consumption and shorter battery life; Average monthly kWh = watt hours/elapsed time/30 days; watt hours equal watts multiplied by time. For instance, a 25 watt bulb plugged in for 1 hour will consume 25 watt hours. In two hours, it will have consumed 50 watt hours.
In this case an ASRock H81 Pro BTC P1.80, a Celeron G1840, two G.skill DDR3L modules, an OCZ Vertex SSD, no USB devices attached, 100mbps ethernet connected and a platinum-80plus-rated Supermicro PSU PWS-341H-1H powering it. The measurement device is a "Watts up?" meter. The room temperature as around 25-28ºC. The mainboard temperature is around 33-34ºC. The kernel is Ubuntu amd64 version 3.13.0-35-generic.
Powertop is release version 2.5. Idle state means that the powertop screen "Idle stats" was shown in a remote SSH session. Between measuring each different group of settings the system was powered down and disconnected from the power source for at least 5 minutes.