برمجة مقبس Async و F#
-
25-09-2019 - |
سؤال
لديّ خدمة WCF ، تعمل مع Sockets Async ، لدي مشكلة في الأداء ، لذلك قررت إعادة تشكيل الكود ، قرأت بعض المقالات حول سهولة استخدام F# للخيوط غير المتزامنة وما إلى ذلك ، لكنني أريد أن أعرف سأحصل على أداء أفضل لاستخدام F# التوازي؟ وسهلة التوافق مع خدمة WCF ، لدي كمية كبيرة من البيانات التي يجب نقلها عبر مآخذ (على TCP) بحيث يكون من المهم أن يكون لديك خوارزمية جيدة للأداء والموازاة.
المحلول
موجز:
F# لديه ملف تعريف أداء مماثل لـ C#. يجب ألا تتوقع أن يكون لدى F# و C# اختلافًا كبيرًا في التعليمات البرمجية المهيكلة.
F# لديه نموذج برمجة أفضل بكثير لرمز ASYNC مقارنة مع C#. إذا كنت تقوم بالكثير من أشياء رد الاتصال BeginFoo/Endfoo في C# ، فستجد أنه من الأسهل بكثير كتابة هذا الرمز في F# (وأسهل "الحصول عليه بشكل صحيح").
http://lorgonblog.wordpress.com/2010/03/28/f-async-on-the-server-side/
نصائح أخرى
هناك إجابة لك ، إنها تخبر عن التوازي أيضًا: قلب مقبس ASYNC متوازيًا وليس متزامنًا فقط في تطبيق مكثف جدًا باستخدام TPL
شكرًا