أداء فرز المصفوفات في 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) ثانية")
```
على بيانات حقيقية (مصفوفة من 10,000 عنصر)، يستغرق الفرز حوالي 0.5-1 ثانية، وهو أبطأ بعشر مرات من كود مماثل في Objective-C. ومع ذلك، يبدو أن المترجم يقوم بتحسين الكود (تم تفعيل التحسين -O). جربت خيارات مختلفة: sorted()، sort()، وحتى كتبت الفرز الخاص بي — والنتيجة نفسها.
هل أفعل شيئًا خاطئًا؟ أم أن هذا خطأ في النسخة التجريبية؟ هل هناك طرق لتسريع الفرز؟ شكرًا مقدمًا على المساعدة!
<<>>