2017-08-01 57 views
1

我知道在將類的方法移至擴展時不應該存在運行時性能差異(如Swift extensionare extensions bad for performance in swift?中回答的那樣)。Swift:private/fileprivate運行時性能

但我找不到很多關於運行時性能是否有差異的文檔,通過將必要的private屬性更改爲fileprivate,通常需要這些屬性才能允許方法(移動到相同文件中的擴展名類),以訪問它們。

有人知道任何性能差異? (我不在乎編譯時間差異,我認爲在這種情況下不存在,只是運行時。)

+1

你有沒有過早優化的危險? – matt

+0

我同意@matt。此外,我希望兩者之間的* runtime *性能很小,因爲構建的二進制文件是一個單元。 – dfd

+0

可能嗎?無論如何,我想知道答案,因爲它可能對「優化時間」有用......謝謝! – nbloqs

回答

3

爲什麼會有這樣的差異?這些隱私條款大多隻是編譯器禁止某些訪問的註釋。

運行時的重要收益來自使用整體模塊優化和/或聲明您的類final。這允許關閉動態調度。

+0

謝謝@matt。你知道是否可以鏈接到某些蘋果公司關於這種類型的運行時性能問題的文檔,或者與其他人使用儀器或類似軟件進行測量?我只是好奇... – nbloqs