2012-02-12 12 views
13

मैं एक परियोजना पर काम कर रहा हूं और मैं अभी भी क्लासिक ईआरबी टेम्पलेट के बजाय HAML (सुंदर कोड, दृश्य फ़ाइलों का कम आकार) का उपयोग करने के बारे में सोच रहा हूं।रेल 3.2 - हैमल बनाम erb। क्या तेजी से हैमल? (फरवरी 2012)

मेरी चिंताएं मैंने ऐसा क्यों नहीं किया है, लेकिन विचारों को उत्पन्न करने की गति है - मैंने एक लेख/बेंचमार्क पढ़ा है और लगभग हमेशा एचआरएमएल ईआरबी की तुलना में धीमा था - लेकिन सच्चाई यह है कि लेख 2-3 साल हैं पुराना।

तो मेरे सवाल है, कैसे तुलना अब लग रहा है इन दोनों टेम्पलेट प्रणाली, 2012 के शुरू में?

उत्तर

16

यहाँ Nov 2011 में किसी से कुछ मानक हैं। आप को अपने हैमल निर्देशिका में सीडी करने में सक्षम होना चाहिए और rake benchmark चलाएं। मैं कहता हूं "चाहिए" क्योंकि आपको उस कार्य को चलाने के लिए उचित निर्भरता स्थापित करने की आवश्यकता होगी। मैंने इसके साथ कुछ मिनटों के लिए खेला लेकिन स्थानीय रूप से कोई भाग्य नहीं। प्रासंगिक फ़ाइल haml/test/benchmark.rb है।

संपादित करें: मैं तुम्हारे लिए कुछ और जानकारी भी मिली। किसी और को भी वही परेशानी थी क्योंकि मैं स्थानीय स्तर पर काम कर रहे बेंचमार्क प्राप्त करने की कोशिश कर रहा था, इसलिए उन्होंने अपना खुद का लुत्फ उठाया। मैंने उस गलती को फोर्क किया और हम्ल की तुलना करने के लिए समर्थन जोड़ा: https://gist.github.com/1807036। मैंने उसी टेम्पलेट का उपयोग किया था जो हैमल लाइब्रेरी बेंचमार्क के लिए उपयोग करता है। यहां परिणाम हैं जिन्हें मैं कोड चला रहा हूं:

$ ruby benchmark.rb 
     user  system  total  real 
haml: 0.650000 0.000000 0.650000 ( 0.651584) 
erb: 0.540000 0.000000 0.540000 ( 0.534727) 

मैंने रूबी 1.9.3-पी 0, हैमल 3.1.4 का उपयोग किया।

+0

तो निष्कर्ष क्या है? हैमल अधिक मेमोरी/सीपीयू लेता है? –

+0

हैम एक देव परिप्रेक्ष्य (ज्यादातर मामलों में) से अच्छा है, और यदि अतिरिक्त भार मामूली है और एक उल्लेखनीय स्तर पर प्रदर्शन को प्रभावित नहीं करेगा, तो मैं कहता हूं इसके लिए जाओ! इस प्रकृति के –

2

वहां पहले से ही वेब पर प्रलेखित बहस का एक गुच्छा रहे हैं।

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

यह सब रिश्तेदार है। आपको ईआरबी के बजाय HAML का उपयोग करने की आवश्यकता नहीं है। ईआरबी सभी चीजें कर सकता है। वे एक ही नौकरी के लिए सिर्फ अलग उपकरण हैं।

+2

रूपांतरण स्वचालित हो सकते हैं ... http://html2haml.heroku.com/ और उनके मणि देखें। यहां बिंदु परियोजना का एक निर्णय है। यदि आपको लगता है कि एचटीएमएल पढ़ने के बाद एचटीएमएल बेहतर है, तो इसके लिए जाएं। –

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