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

vb.net بطيئة جداً بالنسبة لغيرها

مغلق
بدأه a_elbadrawy في 18 فبراير 2007 · 14 رد · 1,234 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

فى الحقيقة عملت برنامج بالدوت نت والغريب ان في برامج زية معمولة الفى بى 6 وبتكون أسرع كتير من الفى بى دوت نت حتى ولو استخدمت Negn

عايزين نشوف حل لمشكلة البطىء دى أحسن هتبوظ سمعتنا

فى آمان الله

Practice makes perfect 2007*

البرمجة بلا انطباعات

#2

أولا ماني فاهم ايه قصدك بـ Negn

ثانيا : مقارنة بالامكانيات والادوات المستخدمه والتطور ووووو

لازم تستحمل البطئ شوية ،، وبعدين لا تنسى النه الددوت نت معتمد كليا على الفريم وورك

#3

السلام عليكم ورحمة الله

بالنسبة للبطء وكما قال الأخ Scoool مقارنة بالإمكانيات والتقنيات الهائلة ولكن ! تتناسب درجة البطء مع طريقة كتابتك للشفرات .. بمعني آخر إذا قمت بكتابة الشفرات بالصورة القياسية والتي تسهل علي الـ dot NET Framwork عملية الترجمة بدلاً من معالجة الشفرات قبل الترجمة, نلاحظ ان لغة ال C# اسرع نسبياً ليس لأنها أسرع فعلياً فكلها تعتمد علي منصة واحدة ولكن لسبب انها لغة صارمة ف قبول الشفرات وذلك عكس الـ VB.NET

والله الموفق.

#4

موضوع مهم للغاية

اتمنى من الاخ Scoool والاخ Ammar Gaffar

يشرحولنا اشوي خاصتا فيما قاله الاخ حول موضوع(بكتابة الشفرات بالصورة القياسية والتي تسهل علي الـ dot NET Framwork عملية الترجمة بدلاً من معالجة الشفرات قبل الترجمة)

يعني لو مثال بسيط

1145392391.gif
#5

كمثال بسيط عندما تريد إدراج قيمة رقمية صحيحة مأخوذه من TextBox1 في العادة يقوم يقوم معظمنا بكتابة الكود التالي

FieldName = TextBox1.Text

هنا يقوم الـ Dot Net Framework بعمل Parse للقيمة الموجودة داخل الـ TextBox1.Text الي نوع الحقل ثم بعدها يقوم بتنفيذ الأمر, أي هنالك عمليتين إضافيتين يقوم بها الـ dot Net Framework قبل تنفيذ الأمر الأولي هي إختبار نوع الحقل الذي سيتم التخزين علية ومن ثم تحويل نوع المدخل الي نفس نوع الحقل, هذه الاشياء البسيطة لايمكنك أن تلاحظها أو تراها ولكن تخيل أن لديك برنامج يحتوي علي الكثير من النماذج والجداول والحقول !!

الكود السابق إذا كتبته بالصورة التالية :

FieldName = Cint(TextBox1.Text)

ستوفر عندها علي الـ DotNetFramwork بعملية تحديد نوع الحقل وم ثم تحويل المدخل الي نفس نوع الحقل.

هذا مثال بسيط جدا فقط لتوضيح الفكرة. وهنالك مقال قديم كتبه الأخ الغملاسي سابقاً عن هذا الموضوع ولكني لا أتذكر عنوان المقال لأن الفترة طالت.

والله الموفق

#6

كلام مظبوط وكلنا مؤمنين بية بس إية هى الفائدة الى بتعود على مستخدم البرنامج اذا كان نفس البرنامج ونفس الوضائف واسرع

اعتقد ان الفوائد الزيادة دى للمبرمجين يعنى لتسهيل العمل وبس لكن لو كان فعلاً فى فوائد يبقى ترجع للبرامج الكبيرة جداً

Practice makes perfect 2007*

البرمجة بلا انطباعات

#7
bedoonline كتب:
كلام مظبوط وكلنا مؤمنين بية بس إية هى الفائدة الى بتعود على مستخدم البرنامج اذا كان نفس البرنامج ونفس الوضائف واسرع

اعتقد ان الفوائد الزيادة دى للمبرمجين يعنى لتسهيل العمل وبس لكن لو كان فعلاً فى فوائد يبقى ترجع للبرامج الكبيرة جداً

لا أعتقد انك استخدمت جميع وظائف الدوت نت - ورغم انني لم اكن مبرمج VB6 وكنت اعمل على دلفي

الا انني اجزم وبشدة على التغير الكامل والجذري

وربما من يتعامل من قواعد البيانات (ADO) يستطيع اكتشاف التغيرات الظاهرة بسهولة

شكرا Ammar على معلومة سرعة C# والظاهر اني راح اجربها :rolleyes:

#8

السلام عليكم ورحمة الله

الأخ العزيز bedoonline, وجهة نظرك صحيحة جداً في حال توفير كل الوظائف التي يحتاجها المستخدم العادي فهو لايهتم بالـ dot Net أو غيرها كل مايحتاجه برنامج سهل التعامل ويؤدي الوظائف المطلوبة منه ولكن ؟؟ لماذا لا نستفيد من التقنيات الجديدة والتي أصبحت توفر الكثير من الوقت والجهد المبذول في عملية التطوير, والآن أصبح عامل الزمن هو أهم عامل في عملية التطوير لأن التقنية لا تنتظر والمتطلبات أيضاً لا تتوقف. ونلاحظ حالياً النشاط القوي لسوق الأدوات Components والتي باتت توفر الإمكانيات الهائلة في زمن وجيز.

بالنسبة للبرامج الكبيرة جداً ... هل تعلم أن معظم هذه البرامج الكبيرة جداً والعالمية تمت برمجتها بإصدارات قديمة من اللغات ؟؟ كمثال هنالك ERP System مشهور وهو الـ SAGE هل تعلم أن هذا البرنامج تمت برمجته بلغة VB5 وهو يعمل حتي الآن وبصورة فعالة جداً ... لغات البرمجة ليست هي الأساس علي أي حال.

والله الموفق

#9

نصيحة لجميع مبرمجي الـVB.NET و الذين يريدون البرمجة بطريقة قياسية و صارمة (و هو يؤدي إلى رفع الأداء و عدة أشياء جميلة أخرى) ضع هذين السطرين في أول كل ملف vb و صحح كل خطأ يرميه الكومبايلر:

Option Explicit On
Option Strict On
#10

انا لا اهتم بالمقارنة بين لغات البرمجة لانى فى الحقيقة لم أعمل أبداً لأى لغات برمجة غير الدوت نت فهى بالاساس لغتى الام وحتى أنى دايماً لا افهم فى حال مناقشة تطوير معين ما بين اصدارات vb 6 والدوت نت

لكنى اتسائل لماذا لا نضع مشاركة تجمع كيفية تسريع هذة الدوت نت

أكثر ما عجبنى

System Down كتب:
نصيحة لجميع مبرمجي الـVB.NET و الذين يريدون البرمجة بطريقة قياسية و صارمة (و هو يؤدي إلى رفع الأداء و عدة أشياء جميلة أخرى) ضع هذين السطرين في أول كل ملف vb و صحح كل خطأ يرميه الكومبايلر:

Option Explicit On
Option Strict On

واعتقد انها اول ايجابيات هذا الموضوع

Practice makes perfect 2007*

البرمجة بلا انطباعات

#11

موضوع مثير للاهتمام

استاذنا الفاضل sysyem down

ماذا لو استخدمنا Threading في البرنامج

هل ستساعد هذا في زياده السرعه

وماذا لو كان البرنامج نازل على سيرفر ومنه الى الشبكه لكي يخدم اكثر من مستخدم

هل سيساعد Threading في سرعه البرنامج في هذه الحال ام سيكون هناك ضغط على البروسيس الرئسي الموجود في السيرفر

ارجو لمن لديه خلفيه ولو بسيطه عن Threading ان يشرح فوائدها في سرعه البرنامج ويشرح مبداء عملها بمثال بسيط

1145392391.gif
#12

الـthreading بحد ذاته لا يضمن السرعة. و لكنه يساعد في الإستغلال الأفضل لموارد الجهاز. مثلاً: عندك عملية تستخدم الداتابيس و هي مطولة نوعاً. عند استخدام thread واحد هذا سيعني تعطيل عمل البرنامج حتى تنتهي العملية. لذا فمن الإستخدامات الشائعة للـthreading هو وضع عمليات الداتابيس في thread منفصل عن الـthread الذي يتعامل مع واجهة المستخدم، مما يسمح للمستخدم باستعمال البرنامج خلال عملية الداتابيس. و على ذلك قس. يمكن وضع عدة عمليات في أكثر من thread ما دامت لا تتواصل مع بعضها. الشرط الأخير مهم. لذا يجب الحرص عند تصميم برنامج يتعامل مع الـthreading بكثافة.

#13
System Down كتب:
الـthreading بحد ذاته لا يضمن السرعة. و لكنه يساعد في الإستغلال الأفضل لموارد الجهاز. مثلاً: عندك عملية تستخدم الداتابيس و هي مطولة نوعاً. عند استخدام thread واحد هذا سيعني تعطيل عمل البرنامج حتى تنتهي العملية. لذا فمن الإستخدامات الشائعة للـthreading هو وضع عمليات الداتابيس في thread منفصل عن الـthread الذي يتعامل مع واجهة المستخدم، مما يسمح للمستخدم باستعمال البرنامج خلال عملية الداتابيس. و على ذلك قس. يمكن وضع عدة عمليات في أكثر من thread ما دامت لا تتواصل مع بعضها. الشرط الأخير مهم. لذا يجب الحرص عند تصميم برنامج يتعامل مع الـthreading بكثافة.

فعلاً ال Threading ليس لتسريع بالمفهوم الذى نقصدة

أنا اعتبر ان ال Threading مثل الزائر الذى يخبط على الباب فبدلاً من الانتظار طويلاً لأحد يفتح لة فأنة يجرب التخبيط على أبواب اخرى لعلى من مجيب :D

Practice makes perfect 2007*

البرمجة بلا انطباعات

#14

هناك أمر بسيط لا يهتم به الكثير عند الحديث او المقارنة بين سرعة برامج الفيجوال 6 و الدوت نت و هو انهم لا يلاحظون ان ال Hard يتطور هو أيضا و ليس ال Soft فقط بمعنى لو ان برنامج بالفيجوال 6 يشتغل سريعا في جهاز ذو ذاكرة حية 256 ميغا فمن الطبيعي ان برنامج مماثل بالدوت نت سيكون أبطأ لذا فالعيب ليس في البرنامج او اللغة بحد ذاتها لكن المشكل في الشخص صاحب الجهاز الذي لا يزال يحتفظ بجهاز كما هو منذ ان اشتراه منذ 4 سنوات :D

#15

لعشاق ومحبى استخدام Negn

يرجى مراجعة هذا الموضوع

لو حد يعرف ايه هو ال NGEN

Practice makes perfect 2007*

البرمجة بلا انطباعات

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

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