데이터 구조 최적화를 통한 예상치 못한 CPU 성능 향상
2025-08-26
대규모 데이터 세트를 처리하는 프로그램이 메모리 및 CPU 성능 병목 현상을 겪었습니다. 처음에는 데이터를 단일 배열에 저장하여 최대 1GB의 메모리가 소비되었습니다. 데이터 지향 프로그래밍을 사용하여 데이터를 여러 배열로 분할함으로써 약 200MB의 메모리를 절약할 수 있었습니다. 또한 필드 이름의 문자열 배열을 바이트 배열 인덱스로 대체하여 메모리 소비량을 더욱 줄였습니다. 놀랍게도 이러한 변경으로 CPU 사용률도 크게 감소했습니다. 그 이유는 가비지 컬렉션 메커니즘에 있습니다. 문자열 배열을 처리할 때 가비지 컬렉터는 모든 문자열 객체를 순회해야 하지만 바이트 배열을 처리할 때는 그럴 필요가 없으므로 가비지 컬렉션 오버헤드가 크게 줄어듭니다.
더 보기
개발
데이터 구조 최적화