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