For reference, the benchmark was performed on Linux like this:
Code:
#!/bin/bash
function launch_ecm {
echo '(2^1489-1) / 71473 / 27201739919 / 51028917464688167 / 13822844053570368983 / 122163266112900081138309323835006063277267764895871 / 95909518295775374166321292697000685895150503357477127' | \
time taskset --cpu-list $1 ecm -v -modmuln 1e8 0 >> log_$i &
}
for i in $(seq 0 2 31); do
launch_ecm $i
done
wait
echo -e '\n\n\n\n\n\n'
sleep 30
for i in $(seq 0 31); do
launch_ecm $i
done
wait
Replace the "31" in the for-loops with your thread count minus 1.
I'm using "taskset" to ensure that in the first loop, each physical core gets one ecm process. Without that, some cores would get 2, some would get none.