성능 분석

성능을 측정하기 위한 장치를 넣은 탓에 측정하려는 프로그램의 동작 자체가 바뀌어 버리는 현상을 무엇이라 부르는가?

  1. A캐시 코히어런시
  2. B프로브 효과(관측 효과)
  3. C파이프라인 처리
정답과 해설 보기

정답: B. 프로브 효과(관측 효과)

로그를 출력하거나, 시간을 재는 코드를 넣거나, 디버거로 멈추는 등의 측정을 위한 처리는 그 자체가 시간과 캐시를 사용하여 타이밍을 바꿉니다. 그래서 측정한 결과가 측정하지 않을 때의 동작과 다르거나, 데이터 경합처럼 타이밍에 의존하는 결함이 측정할 때만 사라지기도 합니다. 샘플링이나 성능 카운터처럼 영향이 작은 방법을 고르고, 측정의 영향이 얼마나 큰지도 확인하는 것이 중요합니다.

  • A. 캐시 일관성 메커니즘을 가리킵니다.
  • B. 올바릅니다. 측정의 영향을 줄이는 노력이 필요합니다.
  • C. 명령어를 겹쳐 실행하는 메커니즘을 가리킵니다.
이 분야 연습하기 분야로 돌아가기

성능 분석의 다른 문제

  1. 프로그램 성능을 개선할 때의 진행 방식으로 가장 적절한 것은?
  2. 대량의 데이터를 처리하는 프로그램에서 가장 큰 속도 향상을 얻을 가능성이 높은 개선은?
  3. 소프트웨어 개발에서 변경할 때마다 벤치마크를 자동으로 실행하고 결과를 기록해 두는 목적으로 올바른 것은?
  4. 노트북에서 벤치마크를 측정했더니 같은 프로그램인데도 결과가 매번 크게 흔들렸다. CPU 측 원인으로 생각되는 것과 그 대책의 조합으로 올바른 것은?
  5. 멀티코어나 NUMA 시스템에서 성능을 측정할 때 스레드를 특정 코어에 고정(어피니티 설정)하는 경우가 있는 이유로 올바른 것은?