لقد قمت دائمًا بكتابة برامج ASP بشكل عرضي، دون مراعاة كبيرة لكفاءة التشغيل. ASP متسامح تمامًا مع بناء الجملة ولديه قدرة عالية على تحمل الأخطاء ويمكن استخدامه مباشرة دون تحديد المتغيرات. لا تحتاج أسماء المتغيرات إلى التمييز بين الأحرف الكبيرة والصغيرة كما أن أسماء ملفات ASP ليست حساسة للأحرف الكبيرة والصغيرة لذلك، من بين اللغات العديدة التي تعاملت معها، تعد لغة asp هي الأقل صرامة والأقل متطلبات للمبرمجين.
لقد اختبرت بالأمس مقارنة سرعة تشغيل asp.net وphp وasp. واليوم شعرت بالرغبة في معرفة مدى تأثير المتغيرات المحددة والمتغيرات غير المحددة على كفاءة تشغيل asp. وكانت النتائج مفاجئة من المتغيرات غير المحددة هي أسرع مرتين!
لا يزال برنامج الاختبار كما هو بالأمس، حيث يقوم بتشغيل حلقة for 10 ملايين مرة للحصول على وقت التنفيذ.
1. البرنامج لا يحدد المتغيرات (dim i)
انسخ رمز الكود كما يلي:
<%
بداية قاتمة
بداية الوقت = الموقت ()
لأني = 1 إلى 10000000
التالي
نهاية قاتمة
نهاية الوقت = الموقت ()
استجابة. كتابة وقت تنفيذ الصفحة: & FormatNumber((endtime-startime)*1000,3) & ميلي ثانية
%>
2. يقوم البرنامج بتعريف المتغيرات (dim i)
انسخ رمز الكود كما يلي:
<%
خافت أنا
بداية قاتمة
بداية الوقت = الموقت ()
لأني = 1 إلى 10000000
التالي
نهاية قاتمة
نهاية الوقت = الموقت ()
استجابة. كتابة وقت تنفيذ الصفحة: & FormatNumber((endtime-startime)*1000,3) & ميلي ثانية
%>
يتم تنفيذ كل برنامج 5 مرات (ما عدا التنفيذ الأول)، ومن ثم يتم أخذ متوسط القيمة. وفيما يلي نتائج الاختبار:
تحديد المتغيرات | وقت التنفيذ | متوسط الوقت | ||||
لا | 1890 مللي ثانية | 1859 مللي ثانية | 1844 مللي ثانية | 1875 مللي ثانية | 1859 مللي ثانية | 1865 مللي ثانية |
نعم | 890 مللي ثانية | 890 مللي ثانية | 984 مللي ثانية | 875 مللي ثانية | 890 مللي ثانية | 905 مللي ثانية |
من نتائج الاختبار المذكورة أعلاه، يمكن ملاحظة أن سرعة تنفيذ asp تكون أسرع مرتين عند تحديد المتغيرات من عدم تحديد المتغيرات.
أما لماذا يحدث هذا فلم أدرسه أكثر. ومع ذلك، من خلال هذا المثال، أشعر حقًا أن البرمجة الموحدة يمكن أن تجعل البرنامج يعمل بشكل أكثر كفاءة. بالنسبة للبرمجة غير القياسية، على الرغم من أن اللغة نفسها متسامحة مع الأخطاء، إلا أن عملية التحليل تستغرق وقتًا. بالطبع، بالنسبة لبرنامج بسيط، قد يكون الفرق الزمني بين التقييس وعدم التقييس ضئيلًا، ولكن إذا كان النظام الذي تقوم بتطويره كبيرًا نسبيًا، مع العديد من الصفحات واستدعاءات الوظائف، فسيكون الفرق بين التقييس وعدم التقييس سيتم تسليط الضوء على الفرق في استهلاك الوقت، والذي يتراوح من مرة أو مرتين إلى عشرات المرات.