Avatar ·

أداء فرز المصفوفات في Swift Beta: لماذا هو بطيء جدًا وكيفية تسريعه؟

مرحبًا بالجميع! لقد بدأت للتو في تعلم Swift وواجهت مشكلة غريبة جدًا عند فرز المصفوفات في Xcode 6 Beta. لدي مصفوفة بسيطة من الأعداد الصحيحة، وأريد فرزها تنازليًا. كتبت الكود التالي: ```swift var numbers = [9, 3, 5, 1, 8, 2, 7, 4, 6] numbers.sort { $0 > $1 } ``` يبدو كل شيء منطقيًا. ولكن عندما أقوم بتشغيل هذا الكود على مصفوفة كبيرة (لنقل 100,000 عنصر)، يستغرق الفرز وقتًا طويلاً جدًا — حوالي 4-5 ثوانٍ! بينما إذا قمت بنفس الشيء في Objective-C باستخدام `sortedArrayUsingComparator:`، فإن كل شيء يعمل فوريًا (أقل من 0.1 ثانية). لقد جربت خيارات مختلفة: 1. `numbers.sort(>)` — نفس البطء. 2. `numbers.sorted(by: >)` — يُرجع مصفوفة جديدة، ولكنه أيضًا بطيء. 3. حتى `numbers.sort()` البسيط بدون closure — لا يزال بطيئًا. ما المشكلة؟ هل هو خطأ في النسخة التجريبية أم أنني أفعل شيئًا خاطئًا؟ ربما أحتاج إلى تفعيل بعض تحسينات المترجم؟ أشعر بخيبة أمل كبيرة من الأداء، لأن Swift