Code: Select all
$ echo; for cycle_type in cycles ref-cycles; do echo -n "$cycle_type stddev: "; for i in {1..100}; do perf stat -e $cycle_type true 2>&1 | grep -E "(cycles|ref-cycles)" | grep -v "seconds"; done | awk '{gsub(/,/,""); print $1}' | awk '{sum+=$1; sumsq+=$1*$1; n++} END {mean=sum/n; print sqrt(sumsq/n - mean*mean)}'; done
cycles stddev: 146434
ref-cycles stddev: 353483
< /code>
Auf meinem Haswell -Server erhalte ich das erwartete Verhalten: < /p>
$ echo; for cycle_type in cycles ref-cycles; do echo -n "$cycle_type stddev: "; for i in {1..100}; do perf stat -e $cycle_type true 2>&1 | grep -E "(cycles|ref-cycles)" | grep -v "seconds"; done | awk '{gsub(/,/,""); print $1}' | awk '{sum+=$1; sumsq+=$1*$1; n++} END {mean=sum/n; print sqrt(sumsq/n - mean*mean)}'; done
cycles stddev: 64606.4
ref-cycles stddev: 46084.4
Haswell CPU-Modell: Intel (r) Xeon (R) CPU E5-2698 V3 @ 2,30GHZ
Mobile version