Swift Beta中数组排序性能:为何如此缓慢以及如何加速?
大家好!我刚开始学习Swift,在排序数组时遇到了一个非常奇怪的问题。我使用的是Xcode 6 Beta,发现排序速度比Objective-C慢很多。以下是简单代码:
```swift
var numbers = [Int]()
for i in 0..<10000 {
numbers.append(Int(arc4random_uniform(1000)))
}
let start = CFAbsoluteTimeGetCurrent()
let sorted = numbers.sorted { $0 < $1 }
let end = CFAbsoluteTimeGetCurrent()
print("排序时间:\(end - start) 秒")
```
在实际数据(10000个元素的数组)上,排序大约需要0.5-1秒,比Objective-C中类似的代码慢10倍。而且编译器似乎进行了优化(开启了-O优化)。我尝试了不同的方法:sorted()、sort(),甚至自己写排序——结果都一样。
是不是我做错了什么?还是这是测试版的bug?有没有办法加速排序?提前感谢帮助!
<<>>