2008-11-13 22 views
12

Template::Toolkit का उपयोग करते समय मेरे विभिन्न टेम्पलेट्स के प्रदर्शन को बेंचमार्क करने का सबसे अच्छा तरीका क्या है?मैं टेम्पलेट :: टूलकिट में टेम्पलेट प्रदर्शन कैसे कर सकता हूं?

मुझे ऐसा कुछ चाहिए जो प्रत्येक ब्लॉक या टेम्पलेट फ़ाइल को संसाधित करने में कितना सीपीयू/सिस्टम समय बिताएगा, जिसमें अन्य टेम्पलेट्स को प्रोसेस करने में व्यतीत समय शामिल है। उदाहरण के लिए Devel::DProf, इसके लिए बेकार है, क्योंकि यह केवल मुझे बताता है कि टेम्पलेट मॉड्यूल के विभिन्न आंतरिक तरीकों में कितना समय व्यतीत होता है।

उत्तर

15

यह पता चला है कि टेम्पलेट के लिए Googling :: टूलकिट प्रोफाइलिंग सर्वोत्तम परिणाम प्राप्त करता है, November 2005 by Randal Schwartz से एक लेख। मैं कॉपी कर सकते हैं नहीं और लेख के किसी भी यहाँ कॉपीराइट की वजह से पेस्ट, लेकिन है कि आप केवल his source हो और टेम्पलेट के बाद एक मॉड्यूल के रूप में उपयोग, इसलिए की तरह कहने के लिए पर्याप्त:

use Template; 
use My::Template::Context; 

और तुम उत्पादन मिल जाएगा STDERR को इस तरह जब अपनी स्क्रिप्ट चलाता है:

 
-- info.html at Thu Nov 13 09:33:26 2008: 
cnt clk user sys cuser csys template 
    1 0 0.06 0.00 0.00 0.00 actions.html 
    1 0 0.00 0.00 0.00 0.00 banner.html 
    1 0 0.00 0.00 0.00 0.00 common_javascript.html 
    1 0 0.01 0.00 0.00 0.00 datetime.html 
    1 0 0.01 0.00 0.00 0.00 diag.html 
    3 0 0.02 0.00 0.00 0.00 field_table 
    1 0 0.00 0.00 0.00 0.00 header.html 
    1 0 0.01 0.00 0.00 0.00 info.html 
    1 0 0.01 0.01 0.00 0.00 my_checklists.html 
    1 0 0.00 0.00 0.00 0.00 my_javascript.html 
    1 0 0.00 0.00 0.00 0.00 qualifier.html 
52 0 0.30 0.00 0.00 0.00 referral_options 
    1 0 0.01 0.00 0.00 0.00 relationship_block 
    1 0 0.00 0.00 0.00 0.00 set_bgcolor.html 
    1 0 0.00 0.00 0.00 0.00 shared_javascript.html 
    2 0 0.00 0.00 0.00 0.00 table_block 
    1 0 0.03 0.00 0.00 0.00 ticket.html 
    1 0 0.08 0.00 0.00 0.00 ticket_actions.html 
-- end 

ध्यान दें कि ब्लॉक के साथ ही अलग-अलग फ़ाइलों में सूचीबद्ध हैं।

यह आईएमएचओ, सीपीएएन मॉड्यूल Template::Timer से कहीं अधिक उपयोगी है।

संबंधित मुद्दे