2015-07-21 49 views
7

在Objective-C中使用方法調試時會出現哪些性能損失?Objective-C方法調試性能

如果有的話,編譯器優化會因爲消息混合而失敗?

+6

此問題無法生成基於意見的答案。知道編譯器的人可以用事實回答它。 @pjs和co,停止狩獵點。 –

+4

我也想知道這個問題的答案。 –

回答

3

Swizzling使Objective-C運行時刷新其方法緩存。如果你在程序中儘可能早地進行調整,這可能不會有明顯的影響。

編譯器無法做很多工作來優化方法調用,因爲Objective-C允許任何方法被覆蓋,即使在運行時也是如此(就像使用swizzling)。因此,無論您是否使用它,您都已經支付了swizzling的性能價格。