Selection | Testing | Setup | Hacking | Top |
I would like to re-run benchmark tests on my own machines, both the old and new laptops.
PassMark seems widely used in product reviews, and it looks like it tests the CPU's speed doing a collection of relevant tasks. But it runs on Windows only and is not free: $29 for a single user license. But there is a package from the same company called BurninTest Linux for $95.
I looked at several N Best Benchmark Suites
articles to see what
was available. One suite, that I've used before, is
Phoronix Test Suite by Michael Larabel and Matthew Tippett. It is
a very comprehensive suite of both synthetic (low level) and
application tests (complete programs including games), but the problem is,
nobody runs the complete suite, which would be too arduous, and they choose
different tests, so comparing between reports is not really possible.
It also takes a fair amount of learning to get it set up and running, and
to understand what to expect from the various tests.
I also tried out some of the other benchmark suites which I wasn't familiar with, but all of them had limitations or issues that kept them from really fulfilling my needs.
I'm thinking over what I want to do, and there are actually two branches to this: first, to compare the speed of the new laptop with the old one and others of my machines, and second, to put a high but consistent load on the machine to test battery life. For comparisons I have my own simple benchmark which does SHA-512 sums of a lot of files, plus it tests I/O speed by catting files to /dev/null (taking the buffer cache into account). This benchmark is unsophisticated and does not differentiate various aspects of the CPU architecture, nor does it test graphics at all, but within its limitations I think it will be sufficient to give me an idea of the capabilities of the new laptop.
Acer uses light web browsing
as their
battery benchmark task, and they claim that the A515-54-51DJ can do it for
11 hours. This I have to see. This kind of benchmark also matches my
typical workload: a lot of staring at the screen and reading documentation on
the web, interspersed with more intense jobs like compilations for which I
don't want to have to wait around, but which are a minority part of the energy
drain.
I now have written my own suite of test scripts. In all cases the screen
is at normal
brightness as I normally use it, i.e. the default values,
and DPMS is turned off so the screen will stay on (xset -dpms; +dpms to
restore).
light web surfingwhich is the task used by Acer to test battery life.
Big Buck Bunnyin loop mode, 1080p, sound on but quiet. Media type: MPEG-4 video v2 (MP42), 1920x1080px 24fps, and MPEG audio layer 3 (MP3) stereo at 48KHz 32bit, in AVI transport stream. Size: 714e8 bytes, about 1.2e6 byte/sec. Media is hosted on a local server over Wi-Fi.
Summary of battery life test results. The tests were done currently, i.e. when the new laptop was just received and the old one was about 3.7 years old and the battery capacity was down to about 63% of new. Run times in hours.
Test | E5-573G (Old) | A515-54-51D1 (New) |
---|---|---|
CPUpig | 1.1 hr | 1.5 hr |
Slideshow | 3.6 hr | 6.2 hr |
Movie | 2.6 hr | 5.1 hr |
Detailed results for the old laptop (tested currently):
Most power measurements were made with a Kill-a-Watt
meter on
the plug, including power converter inefficiencies. Where noted, the
instantaneous or average power was inferred from the battery's voltage,
charge and/or current.
In the first recorded test, the battery had about 70% charge. Line power was 24W with CPU off, 47W during boot. 16.3V, current 0.669A, charge 1.06Ahr, charging took 90 min or 1.5hr. Recharging after complete battery drain: 135min or 2.25hr.
Battery state: when the battery voltage is 17.3V, the upower daemon considers it to be fully charged, and the charging current is under 100ma. The criterion for starting the test (on the old laptop) is that the charging current will be 100ma or less. When you switch to discharging, the voltage will drop to around 16.97V.
The battery in the old laptop has a charge_full_design of 2.50 Ahr and charge_now (when fully charged) of 1.59 Ahr (63%). This battery is about 3.7 years old, explaining the decreased capacity.
Command line arguments for running the test:
eatbattery.sh -e cpupig.sh -p hibernate -L "Battery Rundown: cpupig" >& ../doc/cpupig.out &
When the machine is idle, screen on, and fully charged, CPU temp was 42C and line power was 9W; 8W was seen another time.
The first attempt of cpupig.sh ran for 2002 sec (33min).
On line power: 23W;
measured by a Kill-a-Watt
meter on the plug, including power
converter inefficiencies. On battery: power 20W ± 0.6W by
multiplying the reported voltage and current out of the battery, with
different and fewer inefficiencies included. That's why the line and
battery powers differ. CPU temp 94C. Stopped when battery voltage went
below voltage_min_design (14.80V) plus 0.05V, which is way too high.
This is going to have to be fixed.
Per
this article on BatteryUniversity.com,
for a classic
lithium cobalt oxide cell the nominal cell voltage is
3.6V; this is the open circuit voltage when the cell is half charged. The
voltage of a discharged cell is 2.8V to 3.0V; discharging more than this
can damage the battery. The maximum voltage is 4.2V; during charging, when
the voltage reaches this level the charger should switch to a constant
voltage mode. If the chemistry is tweaked, the halfway and maximum
voltages can be increased slightly. The lithium iron phosphate chemistry
has a half voltage of 3.2V or 3.3V (and correspondingly lower maximum,
which is not stated).
Lithium ion (cobalt oxide) batteries (on Wikipedia). All these values are volts per cell.
On the old laptop the voltage_min_design is 14.80V, or 3.70V per cell, which is bogus! I'm changing to a fixed minimum of 12.0V. Yeah, sure. An unknown daemon, probably upowerd, made the machine suspend to disc (successfully resumed). The last report gives 13.62V (3.40V/cell), 1.44A, 19.54W, 0.57Ahr (3%). At 50% of elapsed time the voltage was 14.71V or 3.678V/cell and the ending voltage per cell was 0.28V lower. It was 0.28V higher (15.83V for 4 cells) at 223sec (3.7min) into the test, so the unknown daemon picked a reasonable lower limit on voltage, allowing some charge to remain for hibernation. I'm going to raise the test program's cutoff, but it will be below the unknown daemon's limit, letting the daemon suspend to disc.
This test ran for 3895 secs, 65 mins. The voltage halfway through was 14.74V (3.68V/cell), current 1.38A, power 19.7W ± 0.7W. Voltage when it was killed was 13.62V (3.40V/cell).
Command line for this test:
eatbattery.sh -e slideshow.sh -p hibernate -l "Battery Rundown: Slideshow" >& ../doc/slideshow.out &
The test ran 12909sec = 215min = 3.6hr. After 900sec (15min), voltage 16.6V, current 0.38A, power 6.2W. CPU temperature 40C. After 2626 sec, the average dc/dt (derivative of charge) is 1.192e-4 Ahr/sec = 0.429A. Every 15 secs a picture is displayed, and sampling intervals are important, whether the increased load for rendering the picture gets into the sampling interval. This is actually seen in the current history as well. With 1.240Ahr remaining, the remaining time estimated from dc/dt is 10403sec = 2.88hr. This goes only 2min past the actual stopping time.
Ending voltage was 13.60V (3.40V/cell); voltage 50% through was 15.05V (3.76V/cell).
Command line for this test:
eatbattery.sh -e movie.sh -p poweroff -l "Battery Rundown: Movie" >& ../doc/movie.out &
It ran for 9503 sec (158min, 2.6hr), repeating the movie 16 times. Power was a little variable, 8.6W ±0.5W. Ending voltage was 13.60V (3.40V/cell); voltage 50% through was 15.13V (3.78V/cell).
Detailed results for the new laptop:
Command line: eatbattery.sh -e cpupig.sh -p hibernate -L "Battery Rundown: cpupig" >& $j/cpupig-1.out &
First run: cpupig ran for 6024sec (1.67hr), running the battery from 3.108Ahr (100%) to 0.258Ahr (8%). The voltage was 16.734V (starting), 14.605V (50%), 13.574V (8%). All cores were over 70% used (due to hyperthread it's not clear what this means), The CPU temperature was up to 62C (compare to 94C for the old laptop).
Charging the battery afterward: 20:09 0.49Ahr; 21:08 1.610Ah; 21:39 2.418Ahr; 22:09 2.978Ahr, 17.17V (16.84V while discharging).
I discharged and recharged the battery a total of 3 times. The need to do this on modern batteries may be an urban legend, but I have the test program to do this without a lot of work, and I want to avoid uncertainty about how representative the test conditions were.
Command line for this test:
./eatbattery.sh -e cpupig.sh -p hibernate -L "Battery rundown: cpupig" |& tee ../doc/cpupig.new.out
It ran for 5219sec (90min, 1.5hr). Power was around 27W. Starting voltage was 16.778V (4.19V/cell); 50% through was 14.551V (3.63V/cell); ended at 4% charge, 13.517V (3.38V/cell).
Command line for this test:
eatbattery.sh -e slideshow.sh -p hibernate -l "Battery Rundown: Slideshow" >& ../doc/slideshow.new.out &
It ran for 22229sec (370min, 6.2hr), almost twice what the old laptop did. As seen on the old laptop, the instantaneous power varies a lot depending on whether it was rendering a photo at the time of measurement. The average power was computed as starting charge*voltage minus ending charge*voltage, divided by time in hours. (The raw data has charge in amp-hours/10000, should be 1000, sorry.) it came out to 8.48W. Starting voltage was 16.915V (4.23V/cell); 50% through was 15.201V (3.80V/cell); and with 4% left it was 13.261V (3.32V/cell.
Acer uses light web browsing
as their battery life test,
claiming 11hr on this test. Very likely their test conditions were
different from mine. Speculative differences are: screen brightness at
50%; shorter and/or text-only pages; more time between page views.
Also Windows may be able to do power management tricks specific to this
model, that Linux doesn't know about.
Command line for this test:
eatbattery.sh -e movie.sh -p hibernate -l "Battery Rundown: Movie" >& ../doc/movie.new.out &
Due to some network problems, I played a local copy of the movie whereas the old laptop played it off a local HTTP server. This should not have affected the power significantly.
It ran for 18454sec (307min, 5.1hr), almost twice the run time of the old laptop. Power was variable, 8.73W to 9.68W. Starting voltage was 16.885V (4.22V/cell), 50% through was 15.048V (3.76V/cell), and with 2% left it was 13.547V (3.39V/cell). These voltages were almost identical to the old laptop.
Power use in various activities; powers in watts at the plug. The values for both laptops were when they were first purchased.
Activity | E5-573G (Old) | A515-54-51D1 (New) |
---|---|---|
Charging, machine off | 22W | 28W |
Windows, idle, screen 90% | 11W | -- |
Windows playing Big Buck Bunny | 13W | -- |
Linux idle, screen off | 12W | 5W - 3W |
Linux idle, screen on | 15W | 12W - 8W |
Linux, all cores loaded (cpupig) | -- | 32W (varies, 25W..42W) |
Linux playing Big Buck Bunny(GStreamer/VLC) | 18W | 9.2W |
Linux, light web browsing | -- | 8.5W |
Linux playing OpenArena 1st person shooter game | 33W | -- |
memtest86+ SMP mode, all cores | 24W | -- |
1 memory stick, suspend to RAM | 0.42W | 0.41W |
2 memory sticks, suspend to RAM | 0.65W | -- |
For battery charging, including when suspended to RAM, the A515-54 (new) appears to follow a policy like this: a constant current is fed into the battery until its voltage reaches an upper bound, Then that voltage is maintained on the battery until the current drops below a cutoff, believed to be about 100mA, and then it turns off charging until the battery voltage declines to another cutoff, which one source suggests is 4.05V/cell (16.20V), but I can't figure out how to measure it.
The power in S3 (suspend to RAM) was measured by recording the battery charge times voltage, then suspending the machine overnight without AC power, and measuring (without power) the charge times voltage the next morning. Mind the units and scale factors; the charge is reported in micro amp hours while the voltage is in microvolts. If you convert the charge times volts to joules, and divide by the elapsed time in seconds, you get the average power in watts. A full battery could keep the machine in S3 for 118hr (4.9 days).
(Work in progress) **UPDATE
Selection | Testing | Setup | Hacking | Top |