Swift 4.2 변경 사항 메모

3569 단어 SwiftSwift4WWDC

Swift4.2 개선




  • 더 빠른 컴파일 속도
  • 새로운 언어 기능은 효율성을 향상시키고 템플릿 코드를 제거합니다
  • Swift SDK 개선
  • 바이너리 호환성 향상

  • Swift5 개선




  • 바이너리 호환성이 안정됩니다.
  • 컴파일된 바이너리는 다른 컴파일러로 작성된 코드와 상호 운용될 수 있습니다.
  • OS에서 Swift 런타임을 저장할 수 있으며, 이전에 APP에 포함시키는 것보다 APP의 시작 속도와 운영 효율성을 크게 향상시키고 APP의 크기를 줄일 수 있습니다.


  • 빌드 개선




  • 최대 3배 빨라졌다
  • Swift 전용



  • Compilation Mode를 Optimization Level에서 분리합니다.
  • Compilation Mode 권장 설정
  • Debug → Incremental 모드를 활성화하여 컴파일 속도를 높입니다
  • Release→Whole 모듈



  • Optimization Level
  • Optimize for Size 추가
  • 바이너리 파일은 10 %에서 30 % 감소하지만 성능은 5 % 감소합니다.


  • RunTime 개선



    ARC



    Swift4.2 이전




  • "Owned"모드
  • 호출자는 Retain을 담당하고 호출자는 Release를 담당합니다.

  • Swift4.2




  • "보증"모드
  • 호출자는 객체의 라이프 사이클을 관리하며 호출자는 Release에 대해 책임이 없습니다.
  • 낭비된 Retain, Release 코드의 감소, 성능의 향상, 바이너리 파일의 서브 세트의 사이즈의 축소가 가능하게 됩니다.

  • 작은 문자열


  • 문자열 인코딩이 24바이트에서 16바이트로 변경됨
  • 문자열의 크기가 충분히 작으면 스택에 직접 저장하고 힙 메모리를 할당 할 필요가 없으며 성능이 향상되고 메모리 사용량이 줄어 듭니다.

  • 그 기능 개선



    CaseIterable





    Equatable 및 Hashable의 자동 합성





    랜덤



    마침내 arc4random과 헤어졌다.



    환경 변수의 변화





    좋은 웹페이지 즐겨찾기