Avatar ·

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?有没有办法加速排序?提前感谢帮助! <<>>

性能缓慢的原因