Mempercepat kompilasi dalam Xcode saat swift

Seiring pertumbuhan proyek, kecepatan kompilasi proyek melambat. Ini menjadi sangat terlihat ketika Anda menguji program, sambil membuat perubahan kecil pada program secara paralel.

Pertama, mari cari tahu berapa lama proyek dikompilasi untuk perbaikan kami. Untuk melakukan ini, masukkan di terminal

defaults write com.apple.dt.Xcode ShowBuildOperationDuration -bool YES 

Untuk melakukan ini, buka alt penahan bagian Produk dan klik Bersihkan Folder Bangun, lalu pasang kembali proyek. Proyek saya dikompilasi selama 81 detik . Mari kita lihat apa hasilnya setelah perbaikan.



Pertama-tama, kita harus mencari tahu tempat mana yang memperlambat kompilasi. Secara default, Xcode tidak menampilkan peringatan di mana masalahnya, tetapi kami dapat memperbaikinya.
Tempat tersulit adalah fitur hebat dan pengecekan tipe. Oleh karena itu, kita perlu memasukkan dua baris ini di bagian Build Settings -> Other Swift Flags -> Debug

 -Xfrontend -warn-long-function-bodies=100 -Xfrontend -warn-long-expression-type-checking=100 

(di sini kami memiliki waktu kompilasi 100 ms, kami dapat memberikan nomor)

Gambar grafis


Contoh draft kerja saya



Saya memiliki bagian yang membutuhkan 13778 ms, kemungkinan besar Anda tidak akan memiliki ini, tetapi karena spesifik dari proyek ini, saya memiliki bagian tersebut. Karena di sana dibangun pohon biner untuk OCR.
Karena bersarang yang dalam di satu sama lain dan definisi jenis hanya di awal, sebelum tanda sama dengan, kompiler membutuhkan banyak waktu untuk memahami apa yang ada di depannya. (Pohon itu mengambil 30 garis, ini bagiannya)

Untuk



Setelah



Kami menentukan jenis untuk setiap sarang dan peringatan hilang.

Titik lemah lainnya adalah beberapa hubung singkat berturut-turut.

Untuk



Setelah

Jenis yang ditentukan secara eksplisit



Setelah memperbaiki semua peringatan, kami akan memeriksa lagi waktu pembangunan proyek.
Sekarang proyek mengkompilasi 26 detik dua setengah kali lebih cepat.



Masih ada pekerjaan yang harus dilakukan, tetapi masalah yang paling jelas telah diperbaiki.

Source: https://habr.com/ru/post/id439290/


All Articles