1
perf
을 사용하여 C로 작성된 코드를 벤치 마크하려고하는데 프론트 엔드 유휴 사이클 수가 100 % 이상 증가합니다. 나는 백엔드 유휴 사이클 카운트에서도 이와 같은 일이 발생하는 것을 보았다. 동시에 100 명 이상. 1 사이클 당 명령 수는 상당히 많습니다 (5 - 10
).perf stat 프론트 엔드 및 백엔드 사이클이 100 %를 초과 함
3,569,966 stalled-cycles-frontend # 111.98% frontend cycles idle
1,843,327 stalled-cycles-backend # 57.82% backend cycles idle
17,875,020 instructions # 5.61 insns per cycle
# 0.20 stalled cycles per insn
퍼센트가 너무 높으면 무엇을 의미합니까?
멀티 코어 프로세서가 있습니까? 이 때문에 종종 100 % 이상의 비율을 얻는 것이 쉽습니다. –
예, 있습니다. 어떻게 해석해야합니까? 아니면 완전히 무시하니? – Danny
하나의 CPU에서만 명령을 실행 해보십시오. 아마도 멀티 코어가 백분율 수치를 엉망으로 만들고 있다는 것을 증명할 것입니다. –