“单个NSMutableArray”与“多个C阵列” - 哪个更高效/实用?

时间:2010-05-16 05:28:41

标签: iphone objective-c c arrays opengl-es

情况:
我有一个DAY结构。 DAY结构有三个变量或属性:Date(NSString *),Temperature(float)和Rainfall(float)。

问题:
我将迭代一个大约5000个DAY结构的数组,并使用OpenGL将其中的一部分绘制到iPhone设备的屏幕上。

问题:
就绘图性能而言,哪个更好?我可以简单地创建一个DAY结构的NSMutableArray(NSObjects)并在每个绘制调用上迭代数组 - 我认为这对CPU来说很难。或者,我可以手动管理三个不同的C阵列 - 一个用于日期字符串(二维),一个用于温度(1维),一个用于降雨(1维)。我可以通过引用迭代C-Arrays的当前索引来跟踪当前日。

3 个答案:

答案 0 :(得分:4)

为什么要在NSString对象而不是NSDate对象中保留日期?

答案 1 :(得分:3)

如果不是很多工作,总是使用方便的解决方案,只有在代码被证明是瓶颈时才进行优化。如果您要编写大量代码需要花费很长时间才能重写为更优化的版本,请执行简单的测试用例和配置文件。

答案 2 :(得分:2)

尝试两种情况和个人资料。

实际上没有其他答案,特别是因为我们无法确定您的确切上下文。每个应用程序的工作方式都不同。

如果它们都具有相同的性能,请选择最易于使用且性能最强的一种。