提升 Xcode 反應速度

提升 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”

Cache In Your Pocket: Use a RAM disk for Xcode