2015-06-17 19 views
7

針對將Swift添加到現有Objective-C代碼庫中的經驗的開發人員的性能問題。Objective-C - 針對現有代碼庫的Swift橋接性能

我的前提是:最終​​可能會變得非常大(它可能最終會包含所有1.5k存在的Objective-C類(給與或不從Swift訪問的類),反之亦然PRODUCT-Swift.h生成頭。

我擔心編譯性能可能會急劇下降:每當包含的任何.h類發生更改時,它將不得不重新編譯所有.swift文件。

這是這種情況?如果是這樣,有什麼辦法來優化性能?

澄清: 試想一下,你包括你的整個項目中的類爲.pch文件,現在每個班級的變化將​​引發整個項目的重新編譯。它與​​的工作方式類似嗎?

回答

1

如果你期望在頭文件中有很多流失,我會推薦模塊。通過將你的Swift代碼分解成模塊,每個模塊都有自己的橋接頭,你應該大大減少Swift重建時間。如果不需要考慮整個系統的每個內部功能,您也可能會在Swift重建時間方面獲得改進。

模塊似乎是Swift想要進行程序組織的地方。我不是說他們非常強大,他們仍然顯得很雜亂。但他們可能是這項工作的最佳工具。好消息是,當你遇到問題時,你應該能夠零碎地遷移。您不應該一次性大規模地重整整個項目。我絕對不會建議在第一天用完並創建100個不同的模塊。尋找一些可能會很好地分割你的程序的大型程序。

+0

好點,謝謝! –