الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل يعقل ان تكون #C بنفس سرعة ++C

مغلق
بدأه إسماعيل ابراهيم في 14 نوفمبر 2002 · 4 رد · 916 مشاهدة · في قسم تكنولوجيا Microsoft .NET العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

من المعروف ان ملف الـ exe الذي تنشئه سي# وكل لغات دت نت ليس ملف exe حقيقي, بل عبارة عن مجموعة اوامر يتم تحويلها الى لغة الالة في لحظة التنفيذ فقط, أي ان هناك ما يمكن تسميته بطبقة عازلة بين التطبيق ونظام التشغيل...

الآن .. الكثير يقولون ان البرامج التي تبنى بلغة سي# لها نفس سرعة برامج بلغة سي++ , هل هذا معقول مع الاخذ بالاعتبار ان العملية الموصوفة في بداية السؤال تأخذ وقت (تضيع وقت) ؟

نرجو شرح هذه النقطة التي تحيرني...

#2

طبعا لأ لأن زي ما انت قلت البرامج دي"يتم تحويلها الى لغة الالة في لحظة التنفيذ فقط" يعني هتاخد وقت في العملية دي كل الموضوع أن الوقت قليل

#3

أعتقد أن كلامك يا أخ اسماعيل صحيح ، لا يمكن أن تكون برامج السي شارب ( أو أي برنامج دوت نت ) أسرع من البرامج العادية . فلا يمكن أن نقارن برنامج بلغة الآلة ببرنامج آخر بلغة وسيطة يحتاج إلى ترجمة عند التنفيذ . قد تكون هذه الترجمة لا تستهلك وقت كبير ( خاصة عندما لا تكون المرة الأولى لتنفيذها ) لكنها في النهاية أخذت من وقت المعالج . الترجمة إلى لغة الآلة تتم بواسطة JIT "Just-In-Time" Compiler ، وهو أيضاً يستهلك جزء من موارد الجهاز ( وقت المعالج والذاكرة ) . لكن هناك نوع من هذا الكمبايلر يستهلك موارد أقل ولايقوم بعملية optimization مثل الكمبايلر العادي ( أعتقد أن اسمه EconoJIT ) بالاضافة إلى ذلك فانه لا يحتفظ بنسخة مترجمة من البرامج التي تم تنفيذها ، أي أنه عند تشغيل نفس البرنامج عدة مرات لن تلاحظ تحسن في الأداء فيما لو استخدمت الـ JIT Compiler العادي .

#4

بالطبع كلامك صحيح اخ اسماعيل,

ولكن لاحظ ان برامح C# لا تقارن فى الاساس ببرامج C,C++ ولكن الاكثر ايها تقارن بالبرامج المكبوبه بلغة جافا

#5

http://www.wintellect.com

أعتقد بان الجميع تكلم بما يراه ! لكن ما ذا لو ذهبنا إلى اهل الاختصاص فماذا عساهم يقولون ؟

هناك كتاب Applied Microsoft .NET Framework (تجدون عنه نبذة في الرابط في الأعلى) للمؤلف Jeffrey Richter .. وضع فيه مقارنه بين Native & .NET Programs ...

حقيقة المقارنة ليست في ان البرنامج يشغل بسرعة منذ ان تنقر بالفأرة على ايقونة البرنامج ، المقارنة هي في الحقيقة مقارنة في الأداء لا أكثر ... ربما نستطيع تشبيه ذلك بالسيارة التي تحتاج إلى تسخين قبل الانطلاق .. لكن بعد التسخين ربما تصبح أسرع سيارة في ميدان السباق !

هذا الموضوع مغلق.

مواضيع مشابهة