gpt4 book ai didi

objective-c - msg_send 调用会产生多少开销?

转载 作者:行者123 更新时间:2023-12-03 16:49:57 26 4
gpt4 key购买 nike

我正在尝试拼凑并运行用户整理的任务列表。这些任务列表可能有数百或数千个项目。

据我所知,最简单、最明显的方法是构建一个数组,然后迭代它们:

NSArray *arrayOfTasks = .... init and fill with thousands of tasks

for (id *eachTask in arrayOfTasks)
{
if ( eachTask && [eachTask respondsToSelector:@selector(execute)] ) [eachTask execute];
}

对于台式机来说,这可能没有问题,但对于 iPhone 或 ipad 来说,这可能是个问题。这是实现这一目标的好方法,还是有更快的方法来完成同样的事情?

我之所以询问 msg_send 会产生多少开销,是因为我也可以直接使用 C 实现。例如,我可以组合一个链表并使用一个 block 来处理下一个任务。我会从中得到什么吗,还是它真的比它的值(value)更麻烦?

最佳答案

我假设您正在谈论 objc_msgSend,在这种情况下,Bill Bumgarner 有一个出色的 4 Part Series值得一读。

但总的来说,我建议简单地使用 Obj-C。这是 iDevices 的所有应用程序都使用的,包括 Apple,数百个项目不会杀死设备。

关于objective-c - msg_send 调用会产生多少开销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2962466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com