2008-12-13 21 views
8

मैं अपने वेब एप्लिकेशन templating समाधान के रूप में चतुर विचार कर रहा हूँ, और मैं अब सादे पीएचपी के खिलाफ अपने प्रदर्शन से चिंतित हूँ।स्मार्टी बेंचमार्क, कोई भी?

चतुर साइट यह एक ही होना चाहिए, हालांकि, मैं वास्तविक बेंच मार्किंग कर बयान सही है या गलत साबित करने के लिए किसी को भी खोजने के लिए सक्षम नहीं था कहते हैं।

किसी बनाम सादे पीएचपी चतुर से कुछ बेंच मार्किंग किया? या शायद ऐसे परीक्षणों पर कुछ संसाधनों में आते हैं? propably बहुत महत्वपूर्ण नहीं -

धन्यवाद

+0

मैं गलत हो सकता हूं, लेकिन स्मार्टी 'सादा पीएचपी' है, यह केवल एक टेम्पलेटिंग इंजन है जो PHP में लिखा गया है। ऐसा लगता है कि आप एक टेम्पलेटिंग इंजन लिखने में सक्षम होंगे जो smarty – andrew

उत्तर

14

क्योंकि अंत में, चतुर संकलित करता है तथा देशी पीएचपी-कोड के लिए खाका फ़ाइलें कैश, वहाँ वास्तव में कोई सैद्धांतिक प्रदर्शन अंतर है। बेशक हमेशा स्मार्ट-कोड के हिस्से के कारण कुछ प्रदर्शन हानि होगी जो हर बार व्याख्या की जानी चाहिए।

3

बस this बहुत सरल बेंचमार्क पाया।

+1

से तेज़ है डोमेन अब ऑनलाइन नहीं है, लेकिन यहां एक अच्छा प्रतिस्थापन http://cedric.emisfr.info/en/2010/03/25/ है smarty-2-6-3-0beta-and-dwoo-performances/ – TravisO

1

चतुर अपने सभी टेम्पलेट फ़ाइलों जब वे पहली बार इस्तेमाल कर रहे हैं, बशर्ते आप इसे सही ढंग से सेट अप है के लिए PHP कोड उत्पन्न करता है, और उन्हें जब संभव टेम्पलेट्स फिर से पार्स करने के बजाय का उपयोग करता है।

मैं थोड़ी देर के लिए यह प्रयोग किया जाता है और यह काफी तेजी से किया गया था, लेकिन अंत में मैं यह स्पष्ट PHP फ़ाइलों के लिए बदली क्योंकि यह थोड़ा सीमित (बहुत PHP4-वाद) था।

1

चतुर ही नहीं बल्कि एक बड़ा पुस्तकालय है ... अपने चतुर उपयोग करने के लिए जा रहा है, तो मैं तुम्हें एपीसी का उपयोग संकलित संस्करण कैश करने के लिए .. यह चतुर पुस्तकालय के बजाय बड़े आकार ऑफसेट होगा सुझाव है ...

1

यह कैसे आप चतुर का उपयोग पर निर्भर करता है, क्योंकि अपने पृष्ठों के प्रवाह कर सकते हैं परिवर्तन

क्लासिक सादे पीएचपी प्रवाह:

  • आउटपुट
  • हैंडल $ _R EQUEST डेटा
  • आउटपुट
  • हैंडल डेटाबेस प्रश्नों
  • आउटपुट
  • संभाल $ _REQUEST डेटा
  • आउटपुट
  • ...

क्लासिक चतुर प्रवाह:

  • हैंडल सभी $ _REQUEST डेटा
  • हैंडल सभी डेटाबेस प्रश्नों
  • आउटपुट सभी

तो सादे पीएचपी 1.0 सेकंड इस पृष्ठ के लिए चतुर पेज भी 1.0 सेकंड लेता ले लिया। लेकिन अगर हम मानते हैं कि सभी डेटाबेस और $ _request हैंडलिंग 0.7 सेकंड लेता है। सादा PHP सीधे आउटपुट शुरू करता है जबकि Smarty संस्करण 0.7 सेकंड के बाद आउटपुट शुरू होता है। इसके लिए ब्राउज़र स्टाइलशीट्स और छवियों को तेज़ी से डाउनलोड करना शुरू कर सकता है। कोई आउटपुट भी नहीं है कि "स्टॉप" बटन का कोई प्रभाव नहीं पड़ता है।

हालांकि स्मार्ट में आप टेम्पलेट के भीतर से कार्य और विधियों को कॉल कर सकते हैं। धीमी हिस्से में देरी जहां डेटा की आवश्यकता है।

0

a drop in replacement for Smarty called Template Lite है जो लाइब्रेरी फ़ाइल आकार के संबंध में अधिक हल्का वजन है। उस ने कहा, मैंने इस लाइब्रेरी में स्वैप करने की आवश्यकता के बिना कुछ बेहद उच्च लोड स्थितियों में मूल Smarty का उपयोग किया है।

4

आप कोई नया टेम्पलेट लायब्रेरी कि चतुर के समान है पर लेने के लिए चाहते हो सकता है Dwoo

0

कहा जाता है मेरे अपने अनुभव और अनौपचारिक मानक के आधार पर, चतुर अपने आप में किसी भी बड़े प्रदर्शन में कटौती नहीं कारण नहीं है। हालांकि, जब आप कस्टम प्लगइन लिखते हैं, चीजें डाउनहिल पर जाती हैं।

एक चतुर टेम्पलेट & पीएचपी के रूप में कैश की गई संकलित किया गया है, लेकिन एक कस्टम प्लगइन हमेशा भरी हुई और रनटाइम पर मार डाला और हमेशा एक सादे पुराने PHP फ़ाइल में एक ही कोड चलाने की तुलना में धीमी है। आप इसे कस्टम स्ट्रिंग स्वरूपण प्लगइन के साथ बहुत अधिक नहीं देख पाएंगे, लेकिन प्लगइन में डेटाबेस क्वेरीज करते समय आप इसे निश्चित रूप से देखेंगे।

कुल मिलाकर, मैं अत्यधिक स्मार्ट की सलाह देता हूं। PHP से डिस्प्ले प्राप्त करने से हमारे कोड को और अधिक पठनीय और रखरखाव योग्य बना दिया गया है। आपको बस यह सुनिश्चित करना होगा कि आप प्लगइन में जो भी डालते हैं उसके बारे में सावधान रहें।

2

यहाँ एक और templating समाधान XSLT है यहाँ पृष्ठों मैं परिवर्तित में से एक है (इसकी एक साधारण पृष्ठ) के लिए मेरे मानक हैं:

// with smarty (baseline) 
    0.014 seconds 

// with xsl/xslt-clientside 
    0.008 seconds 
    42% decrease in server stress 

// with xsl/xslt-serverside 
// this process would only be done if the users browser doesn't support client-side XSLT 
    0.016 seconds 
    14% increase in server stress 

इसका सभी के लिए नहीं है, लेकिन अगर प्रदर्शन अपने मुख्य चिंता :)

है

उस पर आप क्लाइंट को अपने टेम्पलेट को कैश करने की अनुमति देते हैं। करने के लिए http://worldofwarcraft.com

अब तक मेरे पास है अभी तक: http://pixao.com

और यहाँ एक बड़े पैमाने साइट पर इसके बारे में एक और उदाहरण है:

यहाँ क्या मैं (यह मेरा साइटों में से एक है) कर रहा हूँ का एक उदाहरण है किसी भी शो stoppers

2

यहाँ एक टेम्पलेट इंजन बेंचमार्क है कि PHP बनाम चतुर और कई और अधिक टेम्पलेट इंजन परीक्षण में चलाने http://www.raintpl.com/PHP-Template-Engines-Speed-Test/

  • असाइनमेंट के लिए ट्विग तेज़ है, यह एचटीएमएल टेम्पलेट को कक्षाओं में संकलित करता है, इसलिए यह भी PHP से अधिक निष्पादित करने में तेज़ी से शामिल है! आईएमएचओ भारी (कई फाइलें) और जटिल है, लेकिन बहुत तेज़ है!

  • तेजी से लूपिंग के लिए PHP शामिल है, और जल्द ही वर्षा के बाद बहुत छोटी, छोटी (1 फ़ाइल) और तेज़ है।

+0

SO का मूल्यवान सदस्य होने का प्रयास करें। आपका उत्तर इतिहास स्पष्ट विज्ञापन की तरह दिखता है। –

+0

स्पैम के रूप में फ़्लैगिंग। –

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