小编ser*_*io4的帖子

Swift数组性能问题?

我不确定是否存在问题,所以我只想把它写下来.我正在iphone 5s上使用swift,xcode 7.2开发.并使用计算执行时间 NSDate.timeIntervalSinceReferenceDate()

我创建了2个数组,一个包含200,000个元素,另一个包含20个.并尝试随机访问其元素.访问大元素的元素几乎慢了55倍!我知道它更大但不是这个O(1)?

我也尝试过相同的java和大小数组的访问速度相同.

CFArrayheader苹果文档中,我发现了这个:

访问数组中特定索引处的任何值最差为O(log n),但通常应为O(1).

但它认为根据我测试的数字,这是不可能的.

我知道我没有做过大的考验或有什么特别的事情,但是它不起作用的事实真的让我头疼!我有点需要这个我正在做的事情.并且该算法不适用于swift和iOS及其在java和android上的工作.

    let bigSize:Int = 200000
    var bigArray = [Int](count:bigSize,repeatedValue:0)

    let smallSize:Int = 20
    var smallArray = [Int](count:smallSize,repeatedValue:0)

    for i in 0..<bigSize
    {
        bigArray[i] = i + 8 * i
    }
    for i in 0..<smallSize
    {
        smallArray[i] = i + 9 * i
    }
    let indexBig = Int(arc4random_uniform(UInt32(bigSize)) % UInt32(bigSize))
    let indexSmall = Int(arc4random_uniform(UInt32(smallSize)) % UInt32(smallSize))

    var a = NSDate.timeIntervalSinceReferenceDate()
    print(bigArray[indexBig])
    var b = NSDate.timeIntervalSinceReferenceDate()
    print(b-a) \\prints 0.000888049602508545
    a …
Run Code Online (Sandbox Code Playgroud)

arrays performance ios swift

7
推荐指数
1
解决办法
844
查看次数

go-Cobra PersistentFlags 和 Flags 有什么区别?

我试图弄清楚 go-Cobra 中 PersistentFlags 和 Flags 之间的区别是什么,我们应该什么时候使用它们。我读过这个,但我不明白。

go go-cobra

6
推荐指数
1
解决办法
1756
查看次数

标签 统计

arrays ×1

go ×1

go-cobra ×1

ios ×1

performance ×1

swift ×1