9
Swift Betaのパフォーマンス:配列の並べ替え
Swift Betaでアルゴリズムを実装していたところ、パフォーマンスが非常に低いことに気付きました。さらに深く掘り下げた後、ボトルネックの1つが配列の並べ替えと同じくらい単純なものであることに気付きました。関連する部分はここにあります: let n = 1000000 var x = [Int](repeating: 0, count: n) for i in 0..<n { x[i] = random() } // start clock here let y = sort(x) // stop clock here C ++では、同様の操作に私のコンピューターで0.06秒かかります。 Pythonでは、0.6秒かかります(トリックのない、整数のリストの場合はy = Sorted(x)のみ)。 Swiftでは、次のコマンドでコンパイルすると6秒かかります。 xcrun swift -O3 -sdk `xcrun --show-sdk-path --sdk macosx` また、次のコマンドでコンパイルすると、88秒もかかります。 xcrun …