不知道大家有沒有經(jīng)歷過学赛,公司給配個mac年堆,最低配,沒有ssd盏浇,Cpu1.4GHz变丧。全量編譯一次一二十分鐘,增量編譯也要至少三分鐘绢掰,尤其是在調(diào)UI的時候痒蓬。真的是能捉急死人!
搜羅各地找到一個比較實用的加快編譯的方法滴劲。
1.前提與原理
內(nèi)存16G以上攻晒,小于此標(biāo)準(zhǔn)的請恕我也無能為力。
此方法主要是利用RAM(內(nèi)存)來創(chuàng)建一個虛擬的磁盤班挖,用來存放編譯文件鲁捏。大家都知道,RAM的速度是ROM(存儲器)的幾十到幾百倍不等萧芙,利用RAM可以加速文件讀寫给梅。
2.創(chuàng)建腳本文件
可以使用Sublime(文件類型請選擇Shell Script(Bash))或者終端vi編輯器(不會的自行學(xué)習(xí)),在桌面創(chuàng)建一個文件双揪,文件名ramdisk.sh(名字可以自定动羽,后綴不能改)
寫入以下腳本代碼保存:
#!/bin/bash
RAMDISK="ramdisk"
SIZE=4096 #4GB, size in MB for ramdisk.
diskutil erasevolume HFS+ $RAMDISK `hdiutil attach -nomount ram://$[SIZE*2048]`
2.執(zhí)行腳本文件
首先需要給文件添加可執(zhí)行權(quán)限,終端cd到ramdisk.sh文件統(tǒng)計目錄下(此處就是桌面)渔期,終端執(zhí)行一下命令給文件添加可執(zhí)行權(quán)限
chmod +x ./ramdisk.sh
然后終端輸入以下命令執(zhí)行文件
./ramdisk.sh
你會發(fā)現(xiàn)桌面上多了一個磁盤如下圖所示
3.修改Xcode的配置
Xcode -> Preferences -> Locations
Derived Data (Custom): /Volumes/ramdisk/DeriveData
點擊Advanced...選以下點擊Done
之后就可以進(jìn)行編譯了运吓,有沒有發(fā)現(xiàn)快了一點呢?
4.總結(jié)
試過之后擎场,確實是要快一點的羽德,尤其是對全量編譯而言,能提升不少速度迅办。
問題:
1宅静、4GB的大小勉強(qiáng)夠用,可能在編譯幾十次之后會出現(xiàn)空間不足的情況站欺,這時候可以把ramdisk里面DriveData下面的文件刪除姨夹,重新編譯(當(dāng)然你也可以給的空間大一點)。
2矾策、由于內(nèi)存只是暫存磷账,重啟之后ramdisk的磁盤會消失,需要重新跑一次腳本贾虽,重新生成逃糟。
以上方法僅為權(quán)宜之計,最好的解決辦法就是換一臺帶SSD的配置好一點的mac。如果你的mac配置本來就很好绰咽,是因為你的項目實在太大菇肃,那就需要另尋他法了,比如說:使用模塊化方案取募,每一塊分成一個靜態(tài)包琐谤,這樣每次只編譯打開的部分代碼,這樣可以提高編譯速度(這就涉及太廣了玩敏,有興趣可以自行學(xué)習(xí))斗忌。