컴파일하는 데 시간이 걸리는 Swift 코드로 Warning 생성

5757 단어 SwiftiOS
이 기사에서 알게 된 팁스는 간단한 설정이 완성됐으니 한번 하게 해주세요.
  • Guarding Against Long Compiles
  • 여기에 만든 내용은 Xcode8입니다.1, Swift3.0.1개의 환경에서 시험해 보았다.

    방법


    다음 내용만 설정하면 됩니다.
    프로젝트 파일Target -> Build Settings -> Other Swift Flags-Xfrontend-warn-long-function-bodies=100를 설정합니다.

    이렇게 하면 100ms 이상의 시간이 필요한 방법으로 컴파일할 때 Warning-warn-long-function-bodies의 값을 표시하고 ms로 임의의 값을 설정합니다.

    해봤어요.


    Swift2.2 환경에서 시간을 소비하는 기술 방법을 총괄하고 아래의 문장을 참고하여 한번 해 보았다.
  • Regarding Swift build time optimizations
  • 다음과 같은 방법으로 ViewController를 준비합니다.
    class ViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            nilCoalescingOperator()
            ternaryOperator(val: true)
            castingCGFloatToCGFloat()        
        }
    
        /// ??でコンパイルに時間がかかるパターン
        func nilCoalescingOperator() {
            let val: CGFloat? = 10
            _ = CGSize(width: 10 + (val ?? 0) + (val ?? 0) + 22, height: 10)
        }
    
        /// 3項演算子で時間がかかるパターン
        func ternaryOperator(val: Bool) {
            _ = val ? (1...5).map{ "\($0)" } : (0...2).map{ "\($0)" }
        }
    
        /// 型変換で時間がかかるパターン
        func castingCGFloatToCGFloat() {
            _ = CGFloat(M_PI) * (CGFloat((1 + 1 + CGFloat(1 + 1) / 60) * 5) - 15) * 1 / 180
        }
    }
    
    그러면 Warning이 표시됩니다.임계값 시간을 초과해야 하는 방법에 대해 얼마나 많은 시간이 걸렸는지 표시합니다.castingCGFloatToCGFloat() 임계값을 초과하지 않아 Warning이 발생하지 않음)

    스위프트 라이트로 특정한 실장 모드를 연주해야 할지 고민 중이어서 이 팁이 큰 도움이 됐어요.나는 이것이 좀 더 직접적인 것이 좋다고 생각한다.
    (단, 기사에 적힌 바와 같이 이 기능은 언제 삭제될지 모른다.)

    좋은 웹페이지 즐겨찾기