성능 분석

소프트웨어 개발에서 변경할 때마다 벤치마크를 자동으로 실행하고 결과를 기록해 두는 목적으로 올바른 것은?

  1. A벤치마크 결과를 매번 같은 값으로 만들기 위해
  2. B프로그램의 기능을 자동으로 늘리기 위해
  3. C어떤 변경으로 성능이 나빠진 것(성능 회귀)을 빨리 알아차리고, 원인이 된 변경을 특정하기 쉽게 하기 위해
정답과 해설 보기

정답: C. 어떤 변경으로 성능이 나빠진 것(성능 회귀)을 빨리 알아차리고, 원인이 된 변경을 특정하기 쉽게 하기 위해

작은 변경이 쌓이면 모르는 사이에 성능이 조금씩 떨어지는 일이 있습니다. 변경할 때마다 같은 조건에서 벤치마크를 실행하고 결과를 기록해 두면, 성능이 떨어졌을 때 곧바로 알아차릴 수 있고 어떤 변경이 원인인지도 바로 알 수 있습니다. 몇 달 뒤에 알게 되면 수많은 변경 가운데서 원인을 찾기가 힘들어집니다. 측정 편차를 고려하여 의미 있는 차이만 알리는 노력도 필요합니다.

  • A. 결과는 변경이나 환경에 따라 달라지므로 기록하여 비교합니다.
  • B. 기능을 늘리는 것이 아닙니다.
  • C. 올바릅니다. 성능도 기능과 마찬가지로 지켜야 할 대상입니다.
이 분야 연습하기 분야로 돌아가기

성능 분석의 다른 문제

  1. 노트북에서 벤치마크를 측정했더니 같은 프로그램인데도 결과가 매번 크게 흔들렸다. CPU 측 원인으로 생각되는 것과 그 대책의 조합으로 올바른 것은?
  2. 멀티코어나 NUMA 시스템에서 성능을 측정할 때 스레드를 특정 코어에 고정(어피니티 설정)하는 경우가 있는 이유로 올바른 것은?
  3. GPU를 사용하는 프로그램의 성능을 분석할 때 가장 먼저 확인해야 할 것으로 가장 적절한 것은?
  4. 데이터센터에서 서버를 고를 때 피크 성능 외에 고려해야 할 관점이 아닌 것은?
  5. 「새로운 방법으로 100배 빨라졌다」는 주장을 평가할 때 확인해야 할 점으로 가장 적절한 것은?