더북(TheBook)

2.3.6 무료 성능 향상

프로토타입을 작성할 때 성능을 우선으로 고려할 필요는 없지만 데이터 타입, 데이터 구조, 알고리즘의 성능 특성을 기본으로 이해하고 있다면 성능을 더 높이는 방향으로 나아갈 수 있다. 어쩌면 자신도 모르는 사이에 더 빠른 코드를 작성할 수도 있을 것이다. 특정 작업을 위해 일반적인 타입 대신에 특정한 타입을 사용하면 백그라운드에서 도움이 될 수도 있다.

기존의 타입은 더 효율적인 스토리지(저장 공간)를 무료로 사용할 수 있다. 예를 들어 유효한 IPv6 문자열은 최대 65자인 반면, IPv4 주소는 최소 7자이다. 즉, 문자열 기반 스토리지는 14~130바이트를 차지하며 객체 헤더를 포함할 경우 30~160바이트를 차지한다. 이와 달리 IPAddress 타입은 IP 주소를 일련의 바이트로 저장하고 20~44바이트를 사용한다. 그림 2-12는 문자열 기반의 스토리지와 좀 더 ‘원시적인’ 데이터 구조 사이의 메모리 레이아웃 차이를 보여준다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.