迭代效率:NSArray与C指针数组?

时间:2010-03-13 23:26:13

标签: iphone cocoa performance

我正在音频缓冲级别工作,混合由一组对象创建的音频信号。由于我在44.1khz处循环这些物体,因此效率至关重要。迭代NSArray与C指针数组的效率有什么不同? NSMutableArray怎么样?

2 个答案:

答案 0 :(得分:6)

  

迭代NSArray与C指针数组的效率有什么不同吗?

是。直接在C数组上迭代会更快。

大多数应用程序不需要担心这一点,应该在其他地方寻求性能提升。但是,如果在你的应用程序中,这个函数每秒运行44,100次,你可能应该对它进行微优化(当然,确保它尽可能少 - 也就是说,只有你绝对需要做的事情)每秒一次)。

  

NSMutableArray怎么样?

Vs以上。 NSArray?没有什么区别可以依赖或者应该关注。

答案 1 :(得分:0)

NSFastEnumeration协议定义-countByEnumeratingWithState:objects:count:它使用C数组迭代NSArrays,NSMutableArrays以及符合它的任何其他集合对象,避免调用-objectAtIndex:每次迭代。使用性能分析来确定哪个是足够快的解决方案。