xcode預設使用與cpu核數相同的執行緒來進行編譯,但由於編譯過程中的io操作往往比cpu運算要多,因此適當的提公升執行緒數可以在一定程度上加快編譯速度。
在工程對應target
的build settings
中,找到debug information format
這一項,將debug時的dwarf with dsym file
改為dwarf
。
如圖:
這一項設定的是是否將除錯資訊加入到可執行檔案中,改為dwarf後,如果程式崩潰,將無法輸出崩潰位置對應的函式堆疊,但由於debug模式下可以在xcode中檢視除錯資訊,所以改為dwarf影響並不大。這一項更改完之後,可以大幅提公升編譯速度。
比如在目前本人負責的專案中,由於依賴了多個target
,所以需要在每個target
的debug information format
設定為dwarf
。順便提一下,如果通過cocoapod
引入第三方則debug information format
預設就是設定為dwarf
的。
注意:將在工程對應debug information format
改為dwarf
之後,會導致在debug
視窗無法檢視相關類型別的成員變數的值。當需要檢視這些值時,可以將debug information format
改回dwarf with dsym file
,clean(必須)
之後重新編譯即可。
target
的build settings
中,找到build active architecture only
這一項,將debug
時的no
改為yes
。
這一項設定的是是否僅編譯當前架構的版本,如果為no
,會編譯所有架構的版本。需要注意的是,此選項在release
模式下必須為no`,否則發布的ipa在部分裝置上將不能執行。這一項更改完之後,可以顯著提高編譯速度。
不要再專案中或者靜態庫中使用-o4
,因為這會讓clang
鏈結link time optimizations (lto)
使得編譯更慢,通常使用-o3
。
注意:在設定編譯優化之後,xcode斷點和除錯資訊會不正常,所以一般靜態庫或者其他target
這樣設定。
to speed up the xcode compile and link speed (200%+)
加快XCode的編譯鏈結速度(並加以修改)
from 向各位xcode初級使用者特別推薦此文!1.提高xcode編譯時使用的執行緒數 開啟mac終端,然後執行如下命令 8 所以使用這個。xcode預設使用與cpu核數相同的執行緒來進行編譯,但由於編譯過程中的io操作往往比cpu運算要多,因此適當的提公升執行緒數可以在一定程度上加快編譯速度。本...
加快XCode的編譯鏈結速度(並加以修改)
from 向各位xcode初級使用者特別推薦此文!1.提高xcode編譯時使用的執行緒數 開啟mac終端,然後執行如下命令 8 所以使用這個。xcode預設使用與cpu核數相同的執行緒來進行編譯,但由於編譯過程中的io操作往往比cpu運算要多,因此適當的提公升執行緒數可以在一定程度上加快編譯速度。本...
分布式編譯以及如何加快編譯速度
眾所周知,c 專案的編譯時間一般都很就,稍微大一點的專案完全編譯可能就需要幾十分鐘,有的可能需要好幾個小時甚至更久。這對於現在的開發人員來說是非常難以忍受的一件事情!所以就有人開發了一種叫做分布式編譯的東西,這個東西的思想其實很簡單,就是把乙個專案中的沒有依賴關係的工程分給不同的機器進行同時編譯,編...