성능이 중요한 부분에는 기본 자료형 배열을 사용하라

기본자료형 배열과 컬렉션

List, Set 등의 컬렉션은 제네릭 타입입니다.

제네렉 타입에서는 기본 자료형을 사용할 수 없어 랩핑된 타입을 사용해야 합니다.

하지만 성능이 중요한 코드라면 IntArray와 LongArray 등의 기본 자료형을 활용하는 배열을 사용하는 것이 좋습니다.

보통 라이브러리 개발자, 게임 개발자, 고급 그래픽을 처리해야 하는 개발자들에게 도움이 됩니다.

성능의 차이(IntArray vs List<Int>)

1,000,000개(백만)의 정수를 갖는 컬렉션을 만든다고 가정하겠습니다.

단순하게 할당되는 영역(5배 차이)

  • IntArray 400,000,016바이트

  • List<Int> 2,000,006,944바이트

성능(25% 차이)

  • 단순하게 평균을 구하는 처리를 수행하면 기본 자료형 배열이 25% 정도 더 빠릅니다.

Last updated