Avatar ·

Performances du tri de tableaux dans Swift Beta : pourquoi c'est si lent et comment accélérer ?

Bonjour à tous ! Je viens de commencer à apprendre Swift et j'ai rencontré un problème très étrange lors du tri de tableaux. J'utilise Xcode 6 Beta et j'ai remarqué que le tri est très lent par rapport à Objective-C. Voici un code simple : ```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("Temps de tri : \(end - start) secondes") ``` Avec des données réelles (un tableau de 10 000 éléments), le tri prend environ 0,5 à 1 seconde, ce qui est 10 fois plus lent que le code équivalent en Objective-C. Pourtant, le compilateur semble optimiser le code (optimisation -O activée). J'ai essayé différentes variantes : sorted(), sort(), même écrit mon propre tri — le résultat est le même. Peut-être que je fais quelque chose de mal ? Ou est-ce un bug de la version bêta ? Existe-t-il des moyens d'accélérer le tri ? Merci d'avance pour votre aide ! <<>>

Raison de la lenteur