什么可以用来避免msgSend函数开销?(Obj-c)

时间:2012-09-13 13:16:16

标签: iphone c

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

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

1 个答案:

答案 0 :(得分:5)

您可以简单地内联函数以避免任何函数调用开销。然后它会比C函数更快!但在你开始这条道路之前 - 你确定这种优化水平是否合理?通过优化算法,您更有可能获得更好的回报。

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

您做了哪些分析,告诉您方法调度是导致性能问题的原因?我建议您首先检查算法,首先查看最昂贵的操作所在的位置,并查看是否有更有效的方法来实现它。

要回答您的问题,快速搜索会在SO上找到与您类似的一些与您类似的直接相关问题,并提供一些精彩而详细的答案: