성능 분석
대량의 데이터를 처리하는 프로그램에서 가장 큰 속도 향상을 얻을 가능성이 높은 개선은?
- A변수 이름을 짧게 한다
- B계산량이 n²인 알고리즘을 n log n인 알고리즘으로 바꾼다
- C주석을 삭제한다
정답과 해설 보기
정답: B. 계산량이 n²인 알고리즘을 n log n인 알고리즘으로 바꾼다
데이터 수 n이 100만이면 n²은 1조, n log n은 약 2000만으로 5만 배나 차이가 납니다. 명령어의 세세한 최적화나 하드웨어 개선으로 얻는 몇 배의 효과에 비해, 알고리즘 개선은 자릿수가 다른 효과를 낼 수 있습니다. 성능 개선에서는 먼저 계산량이 큰 알고리즘을 쓰고 있지 않은지 확인하고, 그 위에 캐시 사용 방식이나 병렬화 등의 개선을 더해 갑니다.
- A. 변수 이름은 실행 속도에 영향을 주지 않습니다.
- B. 올바릅니다. 데이터가 많을수록 차이는 자릿수 단위로 벌어집니다.
- C. 주석은 실행 속도에 영향을 주지 않습니다.