Looking at the output, it is obvious that whilst depth is the most important outcome, depth from a single search is not a very good indicator, due to the shape of the curve: it takes longer and longer to add a bit of depth, so discrimination diminishes.
Instead I have made up a couple of batch files (bash for macos and linux, and a windows cmd script file) that run the in-built Stockfish /or Cfish benchmarks with a user nominated number of threads to a predetermined depth, loop, and count the number of loops that can be achieved. I have chosen depth 27 as it takes 1-2 minutes per loop or so on a powerful system, and exercises the engines a bit better than shorter defaults. The output is also stored in a file. Benchmark output to the console is suppressed as Windows in particular does not cope with the speed very well.
Here is the Linux / MacOS version: store it as e.g. battery.sh and run using "bash battery.sh" in the directory containing the engine.
Code: Select all
#!/bin/bash
echo Please input number of threads to use:
read threads
loops=0
echo Test starting ... using $threads threads >battery-output.txt
echo Terminate test using Control-c
while [ true ] ; do
echo $loops loops completed at `date`
echo $loops `date` >>battery-output.txt
./stockfish bench 64 $threads 27 >/dev/null 2>&1
let loops+=1
done
Code: Select all
@echo off
SET /P threads=Please input number of threads to use:
SET /A loops=0
ECHO Test starting ... using %threads% threads. > battery-output.txt
ECHO Terminate test using Control-c
:loop-mark
IF %loops% leq 10000000 (
ECHO %loops% %DATE% %TIME% >> battery-output.txt
ECHO %loops% completed at %DATE% %TIME%
.\stockfish bench 64 %threads% 27 >null 2>&1
SET /A loops+=1
GOTO :loop-mark
)
You are welcome on Intel or AMD to try hyperthreading on or off to see which is better. You can also try using fewer threads than your maximum e.g. 1 but whilst your battery will last longer, the background constant-rate battery drain will mean that you are likely to see overall worse performance.