【问题标题】:"Single NSMutableArray" vs. "Multiple C-arrays" --Which is more Efficient/Practical?“Single NSMutableArray”与“Multiple C-arrays”——哪个更高效/实用?
【发布时间】:2011-05-26 23:50:13
【问题描述】:

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

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

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

【问题讨论】:

  • 你也可以有一个 Day 结构的 C 数组。比 3 个阵列更易于管理。

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


【解决方案1】:

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

【讨论】:

  • NSResponder 所说的。鉴于您有代表日期的字符串,您的应用程序中很可能存在比与数组相关的任何事情更大的性能问题。量化,然后优化。
【解决方案2】:

如果工作量不大,总是采用方便的解决方案,仅在代码被证明是瓶颈时进行优化。如果你要编写一大段代码,需要很长时间才能重写为更优化的版本,那就做一个简单的测试用例和配置文件。

【讨论】:

    【解决方案3】:

    尝试两者并配置文件。

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

    如果它们都提供相同的性能,请选择最容易使用且可读性最强的一种。

    【讨论】:

      猜你喜欢
      • 2019-06-29
      • 2018-09-29
      • 1970-01-01
      • 1970-01-01
      • 2016-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多