2017-02-18 3 views
0

Мой Xcode действительно очень медленно компилируется. Монитор активности показывает ~ 330% использования ЦП для SourceKitService и 100% для быстрого. Там что-то ненормальное происходит там?XCode 8 очень медленно компилируется, SourceKitService использует 300+% CPU

Я читал несколько мест, в которых SourceKitService может бороться с массивами угадывания и типами словарей, поэтому я попытаюсь сделать их более понятными. И так как эти сообщения взяты из Xcode 5-6, мне интересно, если это все еще проблема

+1

Посмотрите этот инструмент от Robert Gummesson: https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode –

+1

спасибо, это здорово. Я переписываю несколько тернарных условий/коалесценций, и сейчас все намного лучше. От 5mn построить время до 10s ...... – Guig

ответ

3

Спасибо @Mike за ссылку на анализатор времени сборки, это здорово. Оказалось, что XCode займет 330 секунд, чтобы составить только:

func asJson() -> JSON { 
    let dict: [String: Any?] = [ 
     "video": video.asJson, 
     "asset": asset.url.path, 
     "canBeShared": canBeShared, 
     "videoSource": videoSource.path, 
     "previewSource": previewSource.documentPath, 
     "expectedResizedVideo": expectedResizedVideo.documentPath, 
     "videoDestination": videoDestination, 
     "previewDestination": previewDestination, 
     "fileId": fileId, 
     "isRecordCreated": isRecordCreated, 
     "isPreviewUploaded": isPreviewUploaded, 
     "isPreviewRegistered": isPreviewRegistered, 
     "isSharingPreviewReady": isSharingPreviewReady, 
     "isVideoUploaded": isVideoUploaded, 
     "isVideoRegistered": isVideoRegistered, 
     "isPosted": isPosted, 
     "isPostRegistered": isPostRegistered, 
     "didResizeVideo": didResizeVideo, 
    ] 
    return JSON(dict) 
} 

который я переписать

func asJson() -> JSON { 
    var dict = [String: Any?]() 
    dict["video"] = video.asJson 
    dict["asset"] = asset.url.path 
    dict["canBeShared"] = canBeShared 
    dict["videoSource"] = videoSource.path 
    dict["previewSource"] = previewSource.documentPath 
    dict["expectedResizedVideo"] = expectedResizedVideo.documentPath 
    dict["videoDestination"] = videoDestination 
    dict["previewDestination"] = previewDestination 
    dict["fileId"] = fileId 
    dict["isRecordCreated"] = isRecordCreated 
    dict["isPreviewUploaded"] = isPreviewUploaded 
    dict["isPreviewRegistered"] = isPreviewRegistered 
    dict["isSharingPreviewReady"] = isSharingPreviewReady 
    dict["isVideoUploaded"] = isVideoUploaded 
    dict["isVideoRegistered"] = isVideoRegistered 
    dict["isPosted"] = isPosted 
    dict["isPostRegistered"] = isPostRegistered 
    dict["didResizeVideo"] = didResizeVideo 
    return JSON(dict) 
} 

и что работает просто отлично. Я открою ошибку с Apple

Смежные вопросы