Swift의 Small String Optimization

Swift의 String은 Collection 타입으로 실제 Struct 타입임에도 메모리를 Heap 주소에 저장합니다.

인스턴스가 복사되고 실제 변경이 이뤄질때 다른 힙 메모리 주소를 갖게하는 Swift의 CoW 특성을 아주 잘 활용하고 있죠!


여기까지는 많이들 아는 사실입니다 😁


그런데 길이가 작은 문자열에 대해서는 서로 다른 String 인스턴스가 힙 메모리 주소를 따로 할당받는것이 아닌 String 구조체 내에 저장되는것을 알고 계셨나요!?


이는 Small String Optimization 때문입니다.

작은 문자열에 대해서는 구조체 내에 저장하며 생성과 복사에 대한 오버헤드를 줄여줍니다.


이 낯선 Small String Optimization을 정리해봤습니다 🙋🏻

String의 Small String Optimization

iOYES

String의 Small String Optimization

더 많은 콘텐츠를 보고 싶다면?

또는

이미 회원이신가요?

2023년 10월 30일 오전 12:02

댓글 0

    함께 읽은 게시물

    서버엔지니어의 시대적 고민

    ... 더 보기

    그러니까 당장 써야 하는 AI 좀 알려줘

    ... 더 보기

    그러니까 당장 써야 하는 AI 좀 알려줘

    Brunch Story

    그러니까 당장 써야 하는 AI 좀 알려줘

    Airflow 3.0 주요 기능 소개

    ... 더 보기

    구현패턴으로 DB사용비용을 10배줄이기

    ... 더 보기

    kopring-reactive-labs/Docs/eng/08_bulkprocessor.md at main · psmon/kopring-reactive-labs

    GitHub

    kopring-reactive-labs/Docs/eng/08_bulkprocessor.md at main · psmon/kopring-reactive-labs

    [서평] 윌라슨의 엔지니어링 리더십

    * 이 글은  "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

    ... 더 보기

    2025 쿠팡이츠 테크 신입 개발자 공개 채용

    ... 더 보기

    2025 쿠팡이츠 테크 신입 개발자 공개 채용

    Coupang Careers

    2025 쿠팡이츠 테크 신입 개발자 공개 채용