3 回答

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個贊
如果您試圖確定特定的文件來減慢編譯時間,則可以嘗試通過xctool在命令行中對其進(jìn)行編譯,這將使您逐文件進(jìn)行編譯。
需要注意的是,默認(rèn)情況下,每個CPU內(nèi)核同時構(gòu)建2個文件,不會為您提供“凈”使用時間,而是給您絕對的“用戶”時間。這樣,所有時間在并行化文件之間變得均勻,并且看起來非常相似。
為了克服這個問題,請將-jobs標(biāo)志設(shè)置為1,這樣它就不會并行化文件構(gòu)建。這將花費(fèi)更長的時間,但最終您將獲得“凈”編譯時間,可以按文件進(jìn)行比較。
這是一個應(yīng)做的技巧示例命令:
xctool -workspace <your_workspace> -scheme <your_scheme> -jobs 1 build
“編譯Swift文件”階段的輸出類似于:
...
? Compile EntityObserver.swift (1623 ms)
? Compile Session.swift (1526 ms)
? Compile SearchComposer.swift (1556 ms)
...
從此輸出中,您可以快速確定哪些文件比其他文件花費(fèi)的時間更長。此外,您可以高精度確定重構(gòu)(顯式強(qiáng)制轉(zhuǎn)換,類型提示等)是否正在降低特定文件的編譯時間。
注意:從技術(shù)上講,您也可以這樣做,xcodebuild但是輸出的內(nèi)容非常冗長且難以使用。
- 3 回答
- 0 關(guān)注
- 1041 瀏覽
添加回答
舉報