2011-07-10 18 views
12

मैं सिर्फ यह जानना चाहता था कि क्या यह हेक्स रंग कोड या रंगीन नामों का उपयोग करना तेज़ है जब मैं इसे सीएसएस में उपयोग करना चाहता हूं?कौन सा तेज़ है: हेक्स रंग कोड या रंग के नाम?

+9

सबसे कम लटकते फल चुनें। गंभीरता से, यह एक मुद्दा बनने से पहले आपको सब कुछ और अनुकूलित करना चाहिए। –

+1

हाँ मुझे पता है कि मुझे बाकी सब कुछ अनुकूलित करना चाहिए। यह मेरे सिर के पीछे सिर्फ एक जानना चाहता था। –

+0

यह एक वेब-अनुकूलन दृष्टिकोण से, ब्राउज़र डिज़ाइन दृष्टिकोण से अधिक दिलचस्प विषय है। – Flimzy

उत्तर

14

मेरा अनुमान है कि कोड तेजी से होंगे क्योंकि नाम शायद एक लुक-अप टेबल और संदर्भ हेक्स कोड को असाइन किए गए हैं।

कहा जा रहा है कि, मेरा अनुमान है कि गति अंतर पूरी तरह से नगण्य होगा।

यहां एक प्रदर्शन परीक्षण है जिसे मैंने अभी बनाया है। वे गर्दन और गर्दन हैं, हालांकि हेक्स कोड अब तक 4/5 रनों पर बस तेज़ी से तेज दिखते हैं: http://jsperf.com/css-color-names-vs-hex-codes

+0

हाँ यह मेरा अनुमान था, और हाँ मुझे पता है कि इससे कोई फर्क नहीं पड़ता है लेकिन मैं बस यह सुनिश्चित करना चाहता था। –

+4

यहां [परीक्षण का एक संशोधन] है (http://jsperf.com/css-color-names-vs-hex-codes/17), लघु हेक्स कोड ('# एफएफएफ') की तुलना, लंबे हेक्स कोड (' # एफएफएफएफएफएफ'), 'आरजीबी',' आरजीबीए ', और रंग कोड। – nhinkle

5

प्रतिपादन के मामले में तेज़?

व्यावहारिक रूप से, कोई भी संभावित तरीका कभी भी कोई फर्क नहीं पड़ता है।

तकनीकी शर्तों में, यह इस बात पर निर्भर करता है कि प्रत्येक ब्राउज़र में सीएसएस प्रतिपादन कैसे लागू किया जाता है। अगर मुझे अनुमान लगाना पड़ा, तो मुझे लगता है कि अधिकांश ब्राउज़रों में हेक्स का उपयोग लगभग 3 सीपीयू चक्र (एक असाधारण) है, क्योंकि नाम को पहले हेक्स में परिवर्तित किया जाना है।

लेकिन जब आप यह पूछने के लिए गए थे कि सवाल यह है कि इंटरनेट का आविष्कार होने के बाद से इस रूपांतरण में दुनिया के सभी ब्राउज़रों द्वारा बर्बाद हो गया है।

+2

प्रिंसिपल में मैं आपसे सहमत हूं लेकिन "3 सीपीयू चक्र" दावा बहुत बीमार विचार करता है ... एक नाम को इसके अंकीय समकक्ष में बदलने के लिए आपको एन प्रविष्टियों की एक लुकअप तालिका में अपनी प्रविष्टि ढूंढनी होगी जो औसत पर ले जाएगा , (लॉग एन)/2 प्रयास; वास्तविक प्रयास को खोजने के लिए प्रत्येक प्रयास में 3 से अधिक CPU चक्र होंगे और फिर स्ट्रिंग तुलना करें। ऐसा कहा जा रहा है, भले ही रूपांतरण 30000 सीपीयू चक्र अधिक लेता है, फिर भी उपयोगकर्ता को कोई अंतर नहीं दिख रहा है। – mah

+0

क्षमा करें, मेरा मतलब है कि मेरे "3 सीपीयू चक्र" आंकड़े में एक साइड-नोट जोड़ना है, लेकिन मैं भूल गया। मुझे एहसास है कि यह एक असाधारण है। मैंने जवाब अपडेट किया है :) – Flimzy

+0

मुझे ब्राउज़र आंतरिक के बारे में कुछ भी पता नहीं है लेकिन ओ (1) के साथ एक बहुत ही सरल हैश इस कार्य के लिए बेहतर प्रतीत होता है। –

7

मैं लोकप्रिय सर्वसम्मति के खिलाफ जाऊंगा और सुझाव दूंगा कि रंगीन नाम तेजी से हैं, यदि लुक-अप तालिका रंग मान को पूर्णांक के रूप में लौटाती है। इसका मतलब यह होगा कि एक नामित रंग का उपयोग करते समय ब्राउज़र को हेक्स वर्णों को संबंधित पूर्णांक में स्ट्रिंग से मैन्युअल रूप से पार्स नहीं करना पड़ता है, इसे केवल ओ (1) हैश लुक-अप करना होता है। और स्ट्रिंग से पूर्णांक तक पार्सिंग की तुलना में यह थोड़ा तेज़ हो सकता है।

हालांकि अन्यों ने सही तरीके से ध्यान दिया है, सभी व्यावहारिक शर्तों में दोनों के बीच का अंतर infinitesimally छोटा होगा। अभ्यास में कभी भी कुछ नहीं देखा जाएगा।

+2

हम्म, दिलचस्प बिंदु। आपके उत्तर से पता चलता है कि यहां तक ​​कि सबसे महत्वहीन और सबसे छोटे मामलों में भी असहमत होने के लिए बहुत कुछ हो सकता है। –

+0

मैंने इसके बारे में सोचा नहीं था। मैं कुछ ब्राउज़रों को शर्त लगाऊंगा कि आप क्या कहते हैं - और अन्य नहीं करते हैं।और यह दूसरा सवाल उठाता है: नाम-लुकअप 3-अंकों वाले हेक्स रूपांतरण से भी तेज है, या 6-अंकों वाले हेक्स रंगों की तुलना में केवल तेज़ है ?! Hmmmm! – Flimzy