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

سبب الأداء البطيء