2010-11-24 9 views
20

मुझे आश्चर्य है कि वेब ब्राउज़र में टैब लागू करने के लिए कौन सी बेहतर विकल्प है? (पूर्व: फ़ायरफ़ॉक्स अपने टैब के लिए बहु-थ्रेडिंग का उपयोग करता है, जबकि Google क्रोम बहु-प्रक्रियाओं का उपयोग करता है ...)ब्राउज़र के टैब के लिए कौन सी बेहतर विकल्प है: बहु-थ्रेड या बहु-प्रक्रिया?

+3

आप प्रश्न को कम व्यक्तिपरक दिखाना चाहते हैं। ब्राउज़र में थ्रेड/प्रोसेस टैब अलगाव के फायदे और नुकसान क्या हैं, और शायद उन्हें नाम से उल्लेख नहीं किया गया है ... –

+1

ध्यान दें कि फ़ायरफ़ॉक्स [कार्यान्वयन] की प्रक्रिया में है (https://wiki.mozilla.org/Electrolysis) इस। –

+0

@ मैथ्यू फ्लैस्चेन: धन्यवाद मैथ्यू, यही वह है जिसे मैं ढूंढ रहा हूं। ऐसा लगता है कि क्रोम फ़ायरफ़ॉक्स से इसकी स्थिरता और अन्य सामानों के लिए सामान्य उपयोग में आगे बढ़ रहा है .... – root

उत्तर

21

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

मल्टी-प्रोसेस ब्राउज़र कार्यान्वयन ओपनएसएसएच, बनामपीडी आदि में विशेषाधिकार अलगाव मॉडल की तरह हैं। आप कर्नेल को अपने कोड में बग के विरुद्ध रखने के लिए कुछ संसाधनों का त्याग कर रहे हैं।

2

आपका क्या मतलब है, 'कौन सी बेहतर विकल्प है'? इससे पहले कि आप चर्चा कर सकें कि एक दूसरे से बेहतर क्यों है, आपको "बेहतर" परिभाषित करना होगा। आप क्या लक्ष्य हैं, और उनकी सापेक्ष प्राथमिकताओं क्या हैं? सबसे महत्वपूर्ण, स्थिरता, स्मृति उपयोग, सीपीयू समय, उपयोग में कर्नेल वस्तुओं की संख्या कौन सा है? जो जवाब आप चाहते हैं उसे आपको पहले प्राथमिकताओं को प्रदान करने की आवश्यकता होगी। यही है, आपको यह निर्धारित करने में मदद कर सकते हैं कि कौन सा "बेहतर" है, इससे पहले कि आप यह तय कर सकें कि कौन सा बेहतर है।

16

यह आपकी आवश्यकताओं के आधार पर निर्भर करता है।

यदि आप हैं

  • एक संसाधन कम से कम ब्राउज़र
  • नहीं भारी javascripts
  • चल के लिए खोज रहे
  • स्मृति नहीं है की एक बहुत कुछ

तो फिर तुम शायद बहु के साथ जाने के लिए जा रहे हैं होने सूत्रण।

हालांकि, अगर आप कर रहे हैं

  • एक बार
  • रनिंग संसाधन गहन वेब अनुप्रयोगों

पर कई पृष्ठों चल रहा है आप शायद बहु प्रक्रिया चाहते करने जा रहे हैं। चूंकि अधिकांश कंप्यूटर और वेब एप्लिकेशन आज दूसरी श्रेणी में फिट होते हैं, इसलिए बहु-प्रक्रिया शायद आज बेहतर विकल्प है। ऐसा इसलिए है क्योंकि प्रक्रियाएं आपको प्रत्येक टैब को अपने सैंडबॉक्स में अलग करने की अनुमति देती हैं। इसका मतलब है कि यदि एक टैब दुर्घटनाग्रस्त हो जाता है, तो आप अन्य टैब खोने वाले नहीं हैं।

+0

हाँ, मैं आपसे सहमत हूं – root

+0

आपको इसे तब वोट देना चाहिए। – xaav

2

उत्तर: यह एक व्यापारिक है।

थ्रेड: विंडोज़ पर आमतौर पर कोई फर्क नहीं पड़ता कि क्या कोई फर्क नहीं पड़ता। प्रक्रियाएं उन प्रणालियों पर भूख कार्यान्वयन संसाधन हैं।

प्रक्रिया: सुरक्षा/स्थिरता एक मुख्य चिंता है तो अच्छा है। क्योंकि एक प्रक्रिया नीचे जा रही है, पूरे ब्राउज़र को नीचे लाने की संभावना कम है। (लेकिन ब्राउजर को दुर्घटनाग्रस्त होने की उम्मीद क्यों करनी चाहिए?) और अधिक सिस्टम संसाधनों (ओएस पर कितना निर्भर करता है) पर ओएस प्राइमेटिव्स, लेकिन का उपयोग करके सुरक्षित रूप से अलग करना आसान है।

हाइब्रिड: एकेए प्रक्रियाओं और थ्रेड का उपयोग करना। यह सबसे अच्छा तरीका है। थ्रेड का उपयोग करके घटकों की एक निश्चित संख्या लोड हो रही है जब तक कि प्रक्रिया किसी अन्य प्रक्रिया के अतिरिक्त ओवरहेड (ओएस के आधार पर) को उचित ठहराने के लिए पर्याप्त न हो जाए, और फिर एक और प्रक्रिया तैयार करे।

+0

तो कौन से ब्राउज़र अभी थ्रेड का उपयोग करते हैं? – CMCDragonkai

+0

अच्छी तरह से एम ... और जल्द ही वे सभी कई प्रक्रियाओं का उपयोग करते हैं, हाइब्रिड बनते हैं। उदाहरण के लिए प्रत्येक क्रोम टैब एक अलग प्रक्रिया में चलता है, जिसमें लगभग 11-15 धागे होते हैं ... – bernstein

-1

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

-2

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

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