5

大家好,请帮帮我!!!!

什么可以用来避免 msgSend 函数开销?也许答案是 IMP,但我不确定。

4

1 回答 1

5

您可以简单地内联函数以避免任何函数调用开销。那么它甚至比 C 函数还要快!但是在你开始这条路之前——你确定这种优化水平是必要的吗?通过优化算法,您更有可能获得更好的回报。

IMP很少需要使用。Objective-C 中的方法分派(尤其是在 64 位运行时)已经过高度优化,并利用了许多技巧来提高速度。

你做了什么分析告诉你方法分派是你的性能问题的原因?我建议您首先检查算法,首先查看最昂贵的操作在哪里,看看是否有更有效的方法来实现它。

为了回答您的问题,快速搜索可以在 SO 上找到一些与您的问题类似的直接相关问题,并提供一些很好且详细的答案:

于 2012-09-13T13:36:39.850 回答