提升 Xcode 反應速度
不論是老手還是新手,使用Xcode開發都會有個問題,每次鍵入程式碼時,Xcode會提示來輔助你自動完成,但這速度反應往往不盡理想,尤其是使用傳統硬碟更是明顯,慢的話整個Xcode還會頓頓的。
現在有方法可以提升整體的速度,那就是利用RAM DISK的方法,將DerivedData
配置至RAM DISK,在Xcode開啟專案後,需要重新製作索引及建立需要的資料快取時都會將它存在RAM DISK,如此一來,整個Xcode讀取/寫入都在RAM DISK之中,整體速度就會加快許多!
新增RAM DISK
新建一檔名ramdisk.sh
並將下內容複制貼上,這是建立1GB RAM DISK的script
#!/bin/bash RAMDISK=”ramdisk” SIZE=1024 #size in MB for ramdisk. diskutil erasevolume HFS+ $RAMDISK \ `hdiutil attach -nomount ram://$[SIZE*2048]`
貼上完成後儲存檔案,並且變更檔案為可執行:
chmod a+x ramdisk.sh
之後再執行該script建立一個名為ramdisk
名稱、檔案容量1GB的RAM DISK
EDY-MacBookPro:~ danny$ ./ramdisk.sh Started erase on disk5 Unmounting disk Erasing Initialized /dev/rdisk5 as a 1024 MB case-insensitive HFS Plus volume Mounting disk Finished erase on disk5 ”ramdisk” EDY-MacBookPro:~ danny$
此時你可以開啟finder
看到建立完成的ramdisk
磁碟。
設定Xcode
開啟Xcode並且進入Preferences
進行設定
進入設定後選擇Location
設定DerivedData
的位置
將原先的Default
變更為Custom
並且按下紅框處進行路徑的選擇
選擇剛剛建立名稱為ramdisk
的RAM DISK,按下Choose
選擇此路徑
選擇完成後按下Advanced
確定細節
細節的設定必需要如下圖一樣,確定無誤後按下Done
完成設定
此時重新開啟Xcode後就可以享受Xcode的反應變快!
結論
加快Xcode的速度有幫助於開發時的順暢度,至於DerivedData
存於RAM DISK後,重新開機或關機時DerivedData
資料的消失並不會對於專案造成影響,但DerivedData
資料消失時,重新開啟專案後,Xcode會再次進行相關快取的建立,如:索引…等,必需要等待完成後才能進行開發,此時必兇要耐心等待一些時間,其他則不受影響。
例子中建立的是1GB RAMDISK,如果你有更多的記憶體像16GB或更多時,可以考慮將1GB提升,如果您記憶體不足於4GB,那可能要考慮擴充記憶體或是將1GB RAM DISK縮小,但要注意的是,每開啟不同的專案就會有一份快取於DerivedData
中,RAM DISK太小時必需要手動將DerivedData
裡的資料刪除後再開啟專案,否則Xcode可能會提示或出錯!
參考資料
Performance Considerations for macOS/iOS Development in the “New Frontier”