프로파일링으로 병목 파악 후 알고리즘 복잡도 개선과 메모리 접근 최적화 결
제한된 연산 자원에서 알고리즘을 최적화할 때 가장 먼저 한 것은 프로파일링으로 실제 병목을 확인하는 것이었습니다. 추측으로 최적화하면 영향이 적은 곳을 개선하느라 시간을 낭비하기 때문에, 실측 데이터를 먼저 보는 습관이 중요합니다.
알고리즘 복잡도 개선이 가장 효과적이었습니다. O(n²) 연산을 O(n log n)으로 바꾸는 것만으로 입력 크기가 커질수록 차이가 극적으로 커졌습니다. 라이브러리 교체보다 알고리즘 선택이 성능에 더 큰 영향을 준다는 것을 직접 확인했습니다.
메모리 접근 패턴도 성능에 영향을 줬습니다. 캐시 친화적인 순서로 데이터를 접근하도록 구조를 바꾸니 행렬 연산 속도가 눈에 띄게 올랐습니다. 하드웨어 특성을 이해하면 코드 변경 없이도 성능 개선이 가능하다는 것을 배웠습니다.