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

obe*_*ber 5 c iphone

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

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

gav*_*inb 5

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

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

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

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