История изменений
Исправление firkax, (текущая версия) :
cache-misses, cache-references, cpu-cycles, cycles, instructions, ref-cycles
Если запрашивать все сразу то он начинает справа от счётчиков какие-то проценты писать например так
4 875 cache-misses:u # 37,084 % of all cache refs (60,12%)
13 146 cache-references:u (60,11%)
1 567 734 432 cpu-cycles:u (60,11%)
1 572 908 766 cycles:u (59,83%)
3 160 408 445 instructions:u # 2,01 insn per cycle (59,83%)
Запросил отдельно сначала первые два - корреляции нет.
ZEROADD=2 avg=103 | 116 101 100 101 100 101
3 085 cache-misses:u # 37,017 % of all cache refs
8 334 cache-references:u
ZEROADD=3 avg=106 | 137 100 100 101 100 101
2 972 cache-misses:u # 37,248 % of all cache refs
7 979 cache-references:u
ZEROADD=4 avg=156 | 186 151 151 150 151 151
3 170 cache-misses:u # 38,156 % of all cache refs
8 308 cache-references:u
ZEROADD=5 avg=156 | 188 150 151 151 150 151
3 234 cache-misses:u # 38,633 % of all cache refs
8 371 cache-references:u
ZEROADD=6 avg=156 | 186 150 151 151 150 151
2 894 cache-misses:u # 36,071 % of all cache refs
8 023 cache-references:u
Затем остальные - там ref-cycles не поддерживается, instructions одинаково, cpu-cycles и cycles меняются ожидаемым образом.
ZEROADD=3 avg=106 | 137 101 101 100 101 100
Performance counter stats for './test':
1 573 449 958 cpu-cycles:u
1 573 449 958 cycles:u
3 146 114 645 instructions:u # 2,00 insn per cycle
<not supported> ref-cycles:u
0,642713296 seconds time elapsed
0,642968000 seconds user
0,000000000 seconds sys
ZEROADD=4 avg=157 | 189 150 151 151 150 151
Performance counter stats for './test':
2 359 897 719 cpu-cycles:u
2 359 897 719 cycles:u
3 146 114 728 instructions:u # 1,33 insn per cycle
<not supported> ref-cycles:u
0,944384224 seconds time elapsed
0,940779000 seconds user
0,004003000 seconds sys
В цикле 4 инструкции
.byte 0x66,0x66,0x66,0x90
.byte 0x66,0x66,0x66,0x90
inc rcx
jnz .bL11
Исходная версия firkax, :
cache-misses, cache-references, cpu-cycles, cycles, instructions, ref-cycles
Если запрашивать все сразу то он начинает справа от счётчиков какие-то проценты писать например так
4 875 cache-misses:u # 37,084 % of all cache refs (60,12%)
13 146 cache-references:u (60,11%)
1 567 734 432 cpu-cycles:u (60,11%)
1 572 908 766 cycles:u (59,83%)
3 160 408 445 instructions:u # 2,01 insn per cycle (59,83%)
Запросил отдельно сначала первые два - корреляции нет. Затем остальные - там ref-cycles не поддерживается, instructions одинаково, cpu-cycles и cycles меняются ожидаемым образом.
ZEROADD=3 avg=106 | 137 101 101 100 101 100
Performance counter stats for './test':
1 573 449 958 cpu-cycles:u
1 573 449 958 cycles:u
3 146 114 645 instructions:u # 2,00 insn per cycle
<not supported> ref-cycles:u
0,642713296 seconds time elapsed
0,642968000 seconds user
0,000000000 seconds sys
ZEROADD=4 avg=157 | 189 150 151 151 150 151
Performance counter stats for './test':
2 359 897 719 cpu-cycles:u
2 359 897 719 cycles:u
3 146 114 728 instructions:u # 1,33 insn per cycle
<not supported> ref-cycles:u
0,944384224 seconds time elapsed
0,940779000 seconds user
0,004003000 seconds sys
В цикле 4 инструкции
.byte 0x66,0x66,0x66,0x90
.byte 0x66,0x66,0x66,0x90
inc rcx
jnz .bL11