Swift Concurrency 성능 조사
Swift ConcurrencyiOS성능TaskPrioritySuspension pointsGCDQoS
AI 요약
BetaLINE Plus iOS Platform Dev 팀의 김윤재님이 Swift Concurrency의 성능 관점에서 주의해야 할 점을 스터디한 내용을 공유합니다. Swift Concurrency의 내부 작동 방식 중 TaskPriority와 Suspension points를 먼저 살펴봅니다.
TaskPriority는 GCD의 QoS와 유사한 역할을 하며, High, Default, Low 세 가지 우선순위를 가집니다. WWDC 2021에서는 스레드 수를 코어 수로 제한하여 콘텍스트 스위칭을 줄인다고 소개되었으나, 우선순위가 다양한 작업이 있을 때 OS가 스레드를 어떻게 할당하고 낮은 우선순위 작업의 실행을 어떻게 보장하는지에 대한 의문이 제기되었습니다.
이를 해결하기 위해 우선순위가 높은 작업부터, 혹은 낮은 작업부터 추가했을 때의 스레드 할당 방식을 코어 6개인 iPhone 12 Pro 기기에서 테스트한 결과를 공유합니다.
이 글이 궁금하신가요?
원문 블로그에서 전체 내용을 확인해 보세요
원문 읽으러 가기


