Recently started using a MAC book air.
# MacBook Air (13-inch, 2017)
I love the battery life.
# Observation:
- Did notice that battery life is significantly less when I am developing (compiling / transpiing ) etc
- Compile time is more than a core 2 duo even though MAC is an i3 machine (by a few seconds ~3-5; again a qualitative analysis)
# Literature encountered so far:
https://apple.stackexchange.com/questions/17303/what-are-the-best-practices-for-battery-longevity
Summary:
# Temperature related degradation is the primary mode.
for
# Battery capacity data for MACs of different ages and usage patterns:
- https://apple.stackexchange.com/a/17307
- https://apple.stackexchange.com/a/17305
- https://apple.stackexchange.com/a/43347
Summary - shows that most of the cited factors do not make a difference.
(but these might not be developer laptops where CPU intensive work happens - compile, transpile :P )
# nobody is discussing discharge rate related deterioration
(In my experience with Li-Po batteries with RC aircrafts; discharge current also plays an important role )
# but by the strict CPU under-clocking policy + SSD drives (no spinning hard disks ) + no fans (fans just create a resonant feedback loop :P)
I believe apple has managed to keep the current drawn well within the battery rating limit
(this is not entirely evidence based, somewhat speculative based on the comparative load / cpu activity observed on a dell core 2 duo machine vs a MAC)
# Another evidence that leads me to believe that above is the key:
https://www.apple.com/batteries/maximizing-performance/
Summary - They always ask to plug in the MAC to power source to charge other devices. Most likely to prevent a higher discharge rate for the battery
# Cites depth of discharge as the main factor that ages the battery (other than temperature)
http://batteryuniversity.com/learn/article/how_to_prolong_lithium_based_batteries
# Just realised that current drawn and temperatures exposed to - sort of go hand in hand.
An official confirmation (of course not to a direct question about this.. )
The kernel_task process:
Personal take: