foofoobar
Captain
- Registriert
- Dez. 2011
- Beiträge
- 3.373
Man kann das durchaus vernünftig messen, dafür braucht man keine Quirks oder Hacks:DevPandi schrieb:Ja und Nein. Instructions per Clock ist ein etwas "dehnbarer" Begriff, weil es keine einheitliche Messmethode gibt.
Sieht man sich Zen 5 an, dann kann Zen 5 theoretisch 16 Befehle zur gleichen Zeit ausführen, bei Lion Cove sind es bis zu 18 Befehle. Davon sind aber manche "INT", andere "VEC" und wieder andere Load/Store-Anweisungen.
Deswegen ging man mit der Zeit über, die IPC anhand von Programmen zu ermitteln, in denen kommen aber die Befehle in unterschiedlichen Schwerpunkten zum Tragen. Man kann mit dem gleichen Programm aber zwischen verschiedenen Architekturen unterscheiden und der IPC-Begriff hat sich mit der Zeit dafür durchtgesetzt.
Code:
$ for i in 1 5 9; do perf stat -e cpu-cycles,instructions gzip -$i < testfile > /dev/null; done
Performance counter stats for 'gzip -1':
3.078.415.386 cpu-cycles
5.361.757.187 instructions # 1,74 insn per cycle
0,580785922 seconds time elapsed
0,572794000 seconds user
0,008011000 seconds sys
Performance counter stats for 'gzip -5':
5.980.479.913 cpu-cycles
8.957.503.177 instructions # 1,50 insn per cycle
1,120695668 seconds time elapsed
1,114718000 seconds user
0,006003000 seconds sys
Performance counter stats for 'gzip -9':
15.553.787.857 cpu-cycles
19.718.162.236 instructions # 1,27 insn per cycle
2,927111434 seconds time elapsed
2,920126000 seconds user
0,006997000 seconds sys
$ for i in 1 5 9; do echo "############ $i"; perf stat -e cpu-cycles,instructions gzip -d < c-$i.gz > /dev/null; done
############ 1
Performance counter stats for 'gzip -d':
9.447.502.478 cpu-cycles
17.998.312.402 instructions # 1,91 insn per cycle
1,771316906 seconds time elapsed
1,759310000 seconds user
0,011995000 seconds sys
############ 5
Performance counter stats for 'gzip -d':
8.953.804.801 cpu-cycles
16.601.350.730 instructions # 1,85 insn per cycle
1,677399493 seconds time elapsed
1,662395000 seconds user
0,015003000 seconds sys
############ 9
Performance counter stats for 'gzip -d':
8.830.464.552 cpu-cycles
16.328.793.671 instructions # 1,85 insn per cycle
1,654667908 seconds time elapsed
1,627686000 seconds user
0,026994000 seconds sys
$