هذا هو الأمر dprofppp الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
dprofpp - عرض بيانات ملف تعريف Perl
موجز
دبروفب [-a|-z|-l|-v|-U] [-d] [-s|-r|-u] [-q] [-F] [-أنا|-E] [-O المركز الوطني للاستشعار] [-A] [-R] [-S] [-g
روتين] [-G [-P]] [-f ] [حساب تعريفي]
com.dprofpp -T [-F] [-g روتين] [حساب تعريفي]
com.dprofpp -t [-F] [-g روتين] [حساب تعريفي]
com.dprofpp -G [-P] [حساب تعريفي]
com.dprofpp -p سيناريو [-Q] [خيارات أخرى]
com.dprofpp -V [حساب تعريفي]
الوصف
• com.dprofpp يفسر الأمر بيانات الملف الشخصي التي ينتجها ملف التعريف، مثل ملف التعريف
Devel :: DProf التعريف. سوف يقوم Dprofpp بقراءة الملف tmon.out وعرض 15 الإجراءات الفرعية
والتي تستخدم معظم الوقت. بشكل افتراضي يتم تحديد الأوقات لكل روتين فرعي
حصريًا لأوقات الإجراءات الفرعية الخاصة بأطفالهم.
لتكوين ملف تعريف لبرنامج Perl النصي، قم بتشغيل مترجم Perl باستخدام ملف -d يُحوّل. لذلك لملف التعريف
سيناريو test.pl مع Devel::DProf استخدم ما يلي:
$ perl5 -d:DProf test.pl
ثم قم بتشغيل dprofpp لتحليل ملف التعريف. يعتمد إخراج dprofpp على الإشارات إلى
البرنامج وإصدار Perl الذي تستخدمه.
$ dprofpp -u
إجمالي الوقت المنقضي = 1.67 ثانية
وقت المستخدم = 0.61 ثانية
الأوقات الحصرية
%Time Seconds #Calls sec/call name
52.4 0.320 2 0.1600 رئيسي::foo
45.9 0.280 200 0.0014 رئيسي::bar
0.00 0.000 1 0.0000
0.00 0.000 1 0.0000 رئيسي::baz
يمكن لأداة dprofpp أيضًا تشغيل ملف التعريف قبل تحليل بيانات الملف الشخصي. ما سبق
يمكن تنفيذ أمرين باستخدام أمر dprofpp واحد.
$ dprofpp -u -p test.pl
راجع "PROFILE FORMAT" في Devel :: DProf للحصول على وصف لملف التعريف الخام.
OUTPUT
الأعمدة هي:
٪وقت
النسبة المئوية للوقت الذي يقضيه في هذا الروتين.
#المكالمات
عدد المكالمات لهذا الروتين.
ثانية/مكالمة
متوسط عدد الثواني لكل مكالمة لهذا الروتين.
الاسم
اسم الروتين.
CumulS
الوقت (بالثواني) المستغرق في هذا الروتين والروتينات المستمدة منه.
باستثناء
الوقت (بالثواني) المستغرق في هذا الروتين (لا يشمل الأشخاص الذين يتم الاتصال بهم منه).
Csec / ج
متوسط الوقت (بالثواني) المنقضي في كل مكالمة من هذا الروتين (بما في ذلك تلك التي تم استدعاؤها
منه).
OPTIONS
-a فرز أبجديا حسب أسماء الروتين الفرعي.
-d عكس أي نوع يستخدم
-A حساب توقيت الروتين الفرعي الذي تم تحميله تلقائيًا كتوقيت لـ *::AUTOLOAD. وإلا فإن الوقت
يتم احتساب التحميل التلقائي كوقت للروتين الفرعي نفسه (لا توجد طريقة لذلك).
فصل وقت التحميل التلقائي عن وقت التشغيل).
سيكون هذا غير ذي صلة مع Perls الأحدث. سوف يقومون بإبلاغ "Devel::DProf"
متى يتحول "AUTOLOAD" إلى روتين فرعي فعلي ، لذلك هناك إحصائيات منفصلة لـ
سيتم جمع "التحميل التلقائي" بغض النظر عما إذا تم تعيين هذا الخيار أم لا.
-R حساب الإجراءات الفرعية المجهولة المحددة في نفس الحزمة بشكل منفصل.
-E (افتراضي) عرض كافة أوقات الروتين الفرعي باستثناء أوقات الروتين الفرعي الفرعي.
-F فرض إنشاء طوابع زمنية مزيفة للخروج إذا أبلغ dprofpp أن الملف الشخصي موجود
مشوه. يكون هذا مفيدًا فقط إذا قرر dprofpp أن ملف التعريف مشوه بسبب ذلك
لفقدان الطوابع الزمنية للخروج. أنت وحدك إذا قمت بذلك. استشر BUGS
والقسم الخاص به.
-I عرض جميع أوقات الروتين الفرعي بما في ذلك أوقات الإجراءات الفرعية للأطفال.
-l فرز حسب عدد المكالمات إلى الإجراءات الفرعية. قد يساعد هذا في تحديد المرشحين لـ
مضمنة.
-O المركز الوطني للاستشعار
أظهر فقط المركز الوطني للاستشعار الإجراءات الفرعية. الافتراضي هو 15.
-p سيناريو
يخبر dprofpp أنه يجب عليه إنشاء ملف تعريف للبرنامج النصي المحدد ثم تفسير ملف التعريف الخاص به
بيانات. يرى -Q.
-Q يستعمل مع -p لإخبار dprofpp بالإنهاء بعد تحديد ملف تعريف البرنامج النصي، دون ترجمة
البيانات.
-q لا تعرض رؤوس الأعمدة.
-r عرض الأوقات الحقيقية المنقضية بدلاً من أوقات المستخدم + النظام.
-s عرض أوقات النظام بدلاً من أوقات المستخدم + النظام.
-T عرض شجرة استدعاء الروتين الفرعي إلى stdout. لا يتم عرض إحصائيات الروتين الفرعي.
-t عرض شجرة استدعاء الروتين الفرعي إلى stdout. لا يتم عرض إحصائيات الروتين الفرعي.
عندما يتم استدعاء دالة عدة مرات متتالية على نفس مستوى الاستدعاء
يتم عرضه مرة واحدة مع عدد التكرار.
-S العرض اندمجت شجرة استدعاء الروتين الفرعي إلى stdout. يتم عرض الإحصائيات لكل منها
فرع الشجرة.
عندما يتم استدعاء دالة متعددة (ليس بالضرورة على التوالي) مرات في نفس الوقت
فرع ثم تذهب كل هذه المكالمات إلى فرع واحد من المستوى التالي. عدد التكرار هو
الإخراج جنبًا إلى جنب مع وقت شامل وحصري ووقت للأطفال.
يتم فرز الفروع فيما يتعلق بالوقت الشامل.
-U لا فرز. عرض بالترتيب الموجود في ملف التعريف الخام.
-u عرض مرات المستخدم بدلا من المستخدم + مرات النظام.
-V اطبع رقم إصدار dprofpp واخرج. إذا تم العثور على ملف تعريف أولي، فهذا يعني أنه
سيتم عرض متغير XS_VERSION أيضًا.
-v قم بالفرز حسب متوسط الوقت الذي تقضيه في الإجراءات الفرعية أثناء كل مكالمة. هذا قد يساعد في تحديد
المرشحين للتضمين.
-z (افتراضي) فرز حسب مقدار الوقت المستخدم + النظام المستخدم. يجب أن تظهر الأسطر القليلة الأولى
أنت أي الإجراءات الفرعية تستخدم معظم الوقت.
-g "الروتين الفرعي"
تجاهل الإجراءات الفرعية باستثناء "الإجراء الفرعي" وما يُستدعى منه.
-G
تجميع "تجميع" جميع المكالمات المطابقة للنمط معًا. على سبيل المثال يمكن أن يكون هذا
تستخدم لتجميع جميع مكالمات مجموعة من الحزم
-G "(الحزمة 1::)|(الحزمة 2::)|(الحزمة 3::)"
أو لتجميع الإجراءات الفرعية حسب الاسم:
-G "getNum"
-P يُستخدم مع -G لتجميع "سحب" جميع المكالمات التي لم تتطابق مع -G معًا.
-f
تصفية كافة المكالمات المطابقة للنمط.
-h عرض تعليمات موجزة والخروج.
-H عرض المساعدة الطويلة والخروج.
البيئة
متغير البيئة DPROFPP_OPTS يمكن ضبطها على سلسلة تحتوي على خيارات لـ
com.dprofpp. يمكنك استخدام هذا إذا كنت تفضل ذلك -I على مدى -E أو إذا كنت تريد -F في كل وقت.
تمت إضافة هذا بتكاسل إلى حد ما، لذلك هناك بعض الآثار الجانبية غير المرغوب فيها. خيارات على
يجب أن يتجاوز سطر الأوامر الخيارات في DPROFPP_OPTS--ولكن لا تعتمد على ذلك في هذا
الإصدار.
استخدم dprofppp عبر الإنترنت باستخدام خدمات onworks.net