Desempenho da ordenação de arrays no Swift Beta: por que é tão lento e como acelerar?
Olá a todos! Acabei de começar a estudar Swift e me deparei com um problema muito estranho ao ordenar arrays. Estou usando Xcode 6 Beta e notei que a ordenação está muito lenta em comparação com Objective-C. Aqui está um código simples:
```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("Tempo de ordenação: \(end - start) segundos")
```
Com dados reais (array de 10.000 elementos), a ordenação leva cerca de 0,5-1 segundo, o que é 10 vezes mais lento que o código equivalente em Objective-C. O compilador parece otimizar o código (otimização -O ativada). Tentei diferentes opções: sorted(), sort(), até escrevi minha própria ordenação — o resultado é o mesmo.
Será que estou fazendo algo errado? Ou é um bug da versão beta? Existem maneiras de acelerar a ordenação? Desde já, agradeço pela ajuda!
<<>>
Causa do desempenho lento
No answers yet.
Faça login para deixar uma resposta