Swift - 优化使用非常长的数组

时间:2015-11-17 15:30:44

标签: ios arrays swift optimization

我的代码中有一些地方看起来像这样:

var i = 0
for c in vertexStates[0] {
            //this operation is costy (encapsulates 4 linear interpolation inside)
            currentVertexes.append(vertexStates[1][i++].interpolateTo(c, alpha: factor))
}

我知道vertexStates [index]数组中有超过1000个顶点肯定(可能高达3000)。优化(矢量化)此类操作的最佳实践是什么?应该弄清楚如何在某些线程中做到这一点?使用多线程超重会产生利润吗?也许还有其他方法可以更快地完成此类操作?

我需要关于如何优化这些操作的一般方法(在我的情况下,从两个其他数组生成数组,并且顺序对我来说很重要),无论3000计数是否长。我的iPhone 6 Plus CPU在此操作期间加载了65%,因此我可以预测4s将显示非常差的结果,即使我还没有测试过它。

1 个答案:

答案 0 :(得分:2)

100不是很长。 300不是很长。 10万是我们可以开始争论某事是否很长的地方。

你有没有测量过多长时间?您的代码可以运行的最慢的设备是什么?如果您在iOS 7上运行,它在iPhone 4上的运行情况如何?如果你只在iOS 8或9上运行,它在4s或iPad 2上的运行情况如何?

第一步是测量。发布结果。