मुझे आश्चर्य है कि वेब ब्राउज़र में टैब लागू करने के लिए कौन सी बेहतर विकल्प है? (पूर्व: फ़ायरफ़ॉक्स अपने टैब के लिए बहु-थ्रेडिंग का उपयोग करता है, जबकि Google क्रोम बहु-प्रक्रियाओं का उपयोग करता है ...)ब्राउज़र के टैब के लिए कौन सी बेहतर विकल्प है: बहु-थ्रेड या बहु-प्रक्रिया?
उत्तर
यह आपके कार्यान्वयन और आपकी प्राथमिकताओं की गुणवत्ता पर निर्भर करता है। थ्रेड में कम स्मृति/अधिक साझा करने की क्षमता होती है, और आपके द्वारा उपयोग किए जाने वाले सिंक्रनाइज़ेशन प्राइमेटिव्स के आधार पर प्रक्रियाओं की तुलना में बेहतर या खराब प्रदर्शन कर सकती है। दूसरी ओर, ब्राउज़र कार्यान्वयन की पूरी तरह से बकवास गुणवत्ता के साथ, क्या आप वास्तव में पूरे ब्राउज़र और अपने सभी टैब क्रैश करना चाहते हैं जब एक खराब साइट ब्राउज़र को असीमित मात्रा में स्मृति या बदतर आवंटित करने में मदद करती है?
मल्टी-प्रोसेस ब्राउज़र कार्यान्वयन ओपनएसएसएच, बनामपीडी आदि में विशेषाधिकार अलगाव मॉडल की तरह हैं। आप कर्नेल को अपने कोड में बग के विरुद्ध रखने के लिए कुछ संसाधनों का त्याग कर रहे हैं।
आपका क्या मतलब है, 'कौन सी बेहतर विकल्प है'? इससे पहले कि आप चर्चा कर सकें कि एक दूसरे से बेहतर क्यों है, आपको "बेहतर" परिभाषित करना होगा। आप क्या लक्ष्य हैं, और उनकी सापेक्ष प्राथमिकताओं क्या हैं? सबसे महत्वपूर्ण, स्थिरता, स्मृति उपयोग, सीपीयू समय, उपयोग में कर्नेल वस्तुओं की संख्या कौन सा है? जो जवाब आप चाहते हैं उसे आपको पहले प्राथमिकताओं को प्रदान करने की आवश्यकता होगी। यही है, आपको यह निर्धारित करने में मदद कर सकते हैं कि कौन सा "बेहतर" है, इससे पहले कि आप यह तय कर सकें कि कौन सा बेहतर है।
यह आपकी आवश्यकताओं के आधार पर निर्भर करता है।
यदि आप हैं
- एक संसाधन कम से कम ब्राउज़र
- नहीं भारी javascripts चल के लिए खोज रहे
- स्मृति नहीं है की एक बहुत कुछ
तो फिर तुम शायद बहु के साथ जाने के लिए जा रहे हैं होने सूत्रण।
हालांकि, अगर आप कर रहे हैं
- एक बार
- रनिंग संसाधन गहन वेब अनुप्रयोगों
पर कई पृष्ठों चल रहा है आप शायद बहु प्रक्रिया चाहते करने जा रहे हैं। चूंकि अधिकांश कंप्यूटर और वेब एप्लिकेशन आज दूसरी श्रेणी में फिट होते हैं, इसलिए बहु-प्रक्रिया शायद आज बेहतर विकल्प है। ऐसा इसलिए है क्योंकि प्रक्रियाएं आपको प्रत्येक टैब को अपने सैंडबॉक्स में अलग करने की अनुमति देती हैं। इसका मतलब है कि यदि एक टैब दुर्घटनाग्रस्त हो जाता है, तो आप अन्य टैब खोने वाले नहीं हैं।
उत्तर: यह एक व्यापारिक है।
थ्रेड: विंडोज़ पर आमतौर पर कोई फर्क नहीं पड़ता कि क्या कोई फर्क नहीं पड़ता। प्रक्रियाएं उन प्रणालियों पर भूख कार्यान्वयन संसाधन हैं।
प्रक्रिया: सुरक्षा/स्थिरता एक मुख्य चिंता है तो अच्छा है। क्योंकि एक प्रक्रिया नीचे जा रही है, पूरे ब्राउज़र को नीचे लाने की संभावना कम है। (लेकिन ब्राउजर को दुर्घटनाग्रस्त होने की उम्मीद क्यों करनी चाहिए?) और अधिक सिस्टम संसाधनों (ओएस पर कितना निर्भर करता है) पर ओएस प्राइमेटिव्स, लेकिन का उपयोग करके सुरक्षित रूप से अलग करना आसान है।
हाइब्रिड: एकेए प्रक्रियाओं और थ्रेड का उपयोग करना। यह सबसे अच्छा तरीका है। थ्रेड का उपयोग करके घटकों की एक निश्चित संख्या लोड हो रही है जब तक कि प्रक्रिया किसी अन्य प्रक्रिया के अतिरिक्त ओवरहेड (ओएस के आधार पर) को उचित ठहराने के लिए पर्याप्त न हो जाए, और फिर एक और प्रक्रिया तैयार करे।
तो कौन से ब्राउज़र अभी थ्रेड का उपयोग करते हैं? – CMCDragonkai
अच्छी तरह से एम ... और जल्द ही वे सभी कई प्रक्रियाओं का उपयोग करते हैं, हाइब्रिड बनते हैं। उदाहरण के लिए प्रत्येक क्रोम टैब एक अलग प्रक्रिया में चलता है, जिसमें लगभग 11-15 धागे होते हैं ... – bernstein
अच्छी तरह से मुझे लगता है कि हर बार जब हम एक नया टैब खोलते हैं, तो यह एक धागा बनाता है, और यह फायदेमंद है क्योंकि धागे को किसी अन्य रेजोकस की आवश्यकता नहीं होगी और अधिक मेमोरी का उपयोग नहीं करेगा और आपके सिस्टम को फेंकने से अधिक प्रभावित नहीं होगा।
मुझे लगता है कि एक बहु-प्रक्रिया एक बेहतर दृष्टिकोण है। मल्टी-थ्रेड में सुरक्षा समस्याएं हैं, और हम नहीं चाहते हैं कि कोई हमारे क्रेडिट कार्ड नंबर को चुरा ले। यदि एक प्रक्रिया धीमी हो जाती है, क्योंकि पूरा ब्राउज़र क्रैश हो जाएगा, तो समझ में नहीं आता है। जहां हमारा ब्राउज़र केवल कुछ शोध जैसे विशिष्ट अनुप्रयोग के लिए बहुत विशिष्ट है, जो केवल इंटरनेट के उप-समूह से संबंधित है, हम प्रक्रिया और थ्रेड आधारित ब्राउज़र के पेशेवरों और विपक्ष का विश्लेषण कर सकते हैं। एक बहु-थ्रेड ब्राउज़र निश्चित रूप से तेज़ और आसानी से सिंक्रनाइज़ किया जाएगा।
- 1. एंड्रॉइड: व्यूफ्लिपर या व्यूपेगर - बेहतर विकल्प कौन सा है?
- 2. विंडोज के लिए कौन सा बेहतर है? pthreads या CreateMutex?
- 3. आईफोन या आईपॉड टच के लिए गेम विकसित करने के लिए ओपनजीएल या गेम इंजन कौन सा बेहतर विकल्प है?
- 4. जावास्क्रिप्ट के लिए कौन सी टिप्पणियां प्रलेखन प्रारूप बेहतर है?
- 5. कौन सी परिभाषा बेहतर है?
- 6. सी ++ संदर्भ या कमजोर_पीआरआर वापस करने के लिए बेहतर है?
- 7. ब्लैकबेरी अनुप्रयोग विकास के लिए कौन सा बेहतर उपकरण है?
- 8. रूबी कार्यान्वयन is_numeric है? स्ट्रिंग्स के लिए, बेहतर विकल्प
- 9. "डेटा-केवल" उद्देश्य-सी ऑब्जेक्ट्स के लिए बेहतर विकल्प?
- 10. कौन सा बेहतर है? OpenCyc या ConceptNet?
- 11. कौन सा बेहतर है - PyInstaller या cx_Freeze?
- 12. कौन सा बेहतर है, नागियोस या सेंसू?
- 13. टेक्स्टव्यू या वेबव्यू के बीच कौन सा बेहतर है?
- 14. Django सामाजिक प्रमाणीकरण के लिए कौन सा समाधान बेहतर है?
- 15. कौन सा बेहतर है, ईटीएल या ईएलटी?
- 16. सामान्य उद्देश्य प्रोग्रामिंग, एफ # या हास्केल के लिए कौन सी भाषा बेहतर है?
- 17. सी: कौन सा बेहतर है? संरचनाओं के लिए पॉइंटर्स की मॉलोक सरणी, या संरचनाओं की सरणी?
- 18. कौन सा बेहतर BOOST_MPL_ASSERT या BOOST_STATIC_ASSERT है?
- 19. उपयोग करने का बेहतर विकल्प कौन सा है: localStorage(), window.localStorage(), या document.localStorage()?
- 20. वेब परिनियोजन परियोजनाओं के लिए बेहतर विकल्प
- 21. डिस्क sha1 या uniqid पर फ़ाइल के यादृच्छिक नाम के लिए एक बेहतर विकल्प कौन सा है?
- 22. सी ++ परियोजना के लिए कौन सा एम्बेडेड ब्राउज़र?
- 23. कौन सी लॉगिंग लाइब्रेरी बेहतर है?
- 24. बेहतर विकल्प क्या है?
- 25. कौन सी सीएसएस चयनकर्ता बेहतर अभ्यास है?
- 26. कौन सा बेहतर है?
- 27. सी/सी ++ के लिए विकल्प पार्सर्स?
- 28. क्लिकऑन के लिए कौन से विकल्प हैं?
- 29. मेरी वेबसाइट के लिए एपीआई बनाने के लिए कौन सा बेहतर है: एमवीसी या एडोनेट डेटा सेवाएं?
- 30. एडब्ल्यूएस के साथ काम करने के लिए कौन सा मणि बेहतर है: aws-sdk या धुंध?
आप प्रश्न को कम व्यक्तिपरक दिखाना चाहते हैं। ब्राउज़र में थ्रेड/प्रोसेस टैब अलगाव के फायदे और नुकसान क्या हैं, और शायद उन्हें नाम से उल्लेख नहीं किया गया है ... –
ध्यान दें कि फ़ायरफ़ॉक्स [कार्यान्वयन] की प्रक्रिया में है (https://wiki.mozilla.org/Electrolysis) इस। –
@ मैथ्यू फ्लैस्चेन: धन्यवाद मैथ्यू, यही वह है जिसे मैं ढूंढ रहा हूं। ऐसा लगता है कि क्रोम फ़ायरफ़ॉक्स से इसकी स्थिरता और अन्य सामानों के लिए सामान्य उपयोग में आगे बढ़ रहा है .... – root