2012-02-08 27 views
29

मैं वर्तमान में एक वेब ऐप पर काम कर रहा हूं, और जावास्क्रिप्ट ऑब्जेक्ट्स में उनके इंटरफ़ेस का एक बड़ा बहुमत कैसे रखता है, वहां कुछ अलग-अलग ऐप्स (मुख्य रूप से क्लाउड 9आईडी) से प्रेरित हुए हैं। यह भविष्य में सुविधाओं को जोड़ने के लिए अविश्वसनीय रूप से आसान बनाता है, और भविष्य में विस्तारशीलता विकल्पों को भी अनुमति देता है।इससे पहले कि कितनी मेमोरी खराब हो जाए?

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

क्या ब्राउज़र द्वारा कितनी मेमोरी का उपयोग किया जा सकता है, इस पर कठोर सीमाएं हैं? अगर मैं जाता हूं तो मेरी वेबसाइट दुर्घटनाग्रस्त हो जाएगी? या पूरा ब्राउज़र दुर्घटनाग्रस्त हो जाएगा? क्या यह उपयोगकर्ता को धीमा कर देगा? यदि हां, तो क्या कोई सामान्य नियम है कि औसत उपयोगकर्ता को कितनी मेमोरी परेशान होगी?

+0

यह प्रश्न मुझे बहुत स्थानीय लगता है। मैं ballpark संख्याओं का उपयोग किए बिना इसका उत्तर देने के किसी भी तरीके से नहीं सोच सकता जो एक या दो साल के भीतर अप्रचलित हो जाएगा। –

+0

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

+0

"ट्वीट्स" 140 बाइट्स पर बिल्कुल बड़ी मेमोरी हॉग नहीं हैं + हो सकता है कि कुछ ऑब्जेक्ट ओवरहेड हो। यदि आप जावास्क्रिप्ट में एक वीडियो संपादक लिख रहे हैं, तो आपको स्मृति उपयोग के बारे में चिंता करने की आवश्यकता हो सकती है। –

उत्तर

16

बिल्कुल सकारात्मक रूप से 4 जीबी मेमोरी के करीब कहीं भी उपयोग नहीं करते हैं। अधिकांश लोग 32-बिट ब्राउज़र का उपयोग करते हैं, इसलिए ब्राउज़र 4 जीबी का समर्थन नहीं कर सकता है :)

एक और व्यावहारिक नोट पर, याद रखें कि जितनी अधिक मेमोरी आप लेते हैं, उतना ही धीमा आपका ऐप चलाएगा। आज का इंटेल/एएमडी (मुझे एआरएम के बारे में पता नहीं है) प्रोसेसर कैश में नहीं होने वाली मेमोरी एक्सेस करने से 100 गुना तेजी से रजिस्ट्रार एक्सेस करते हैं, इसलिए यदि आप बहुत मेमोरी का उपयोग करते हैं तो आप thrashing का कारण बनेंगे, जो आपके एप्लिकेशन को नाटकीय रूप से धीमा कर देगा ।

तो, यह मानते हुए कि आप अपने सोशल नेटवर्क के लिए उपयोगकर्ताओं को चाहते हैं, आपको अपनी वेबसाइट को यथासंभव मशीनों पर अच्छी तरह से काम करने की कोशिश करनी चाहिए। लाखों और लाखों लोग अभी भी विंडोज एक्सपी मशीनों का उपयोग कर रहे हैं जो 5+ साल के हैं। इन मशीनों में 512 एमबी रैम जितना कम हो सकता है, इसलिए यदि आप कुछ सौ मेगाबाइट्स का उपयोग कर रहे हैं, तो आप केवल प्रोसेसर कैश की बजाय सभी मेमोरी को थ्रैश कर सकते हैं, क्योंकि कर्नेल उन पृष्ठों को स्वैप करता रहता है जिन्हें आप उपयोग करना चाहते हैं। तो अंगूठे के नियम के रूप में मैं 150-200 एमबी मेमोरी से नीचे रहने की सिफारिश करता हूं। जीमेल ने लिनक्स के लिए क्रोम पर 100 एमबी मेमोरी ली है, इसलिए मुझे लगता है कि जीमेल के साथ रहना एक उचित लक्ष्य है।

स्मृति उपयोग को अपेक्षाकृत कम रखने का एक अन्य लाभ यह है कि आपके उपयोगकर्ता स्मार्टफोन पर आपकी साइट को आसानी से देख सकते हैं। एक आईफोन 3 जीएस (अभी भी उनमें से बहुत सारे उपयोग में हैं) में केवल 256 एमबी रैम है, इसलिए आपकी वेबसाइट में 200 एमबी से नीचे रहना स्मार्टफोन उपयोगकर्ता को बिना किसी प्रक्रिया को मारने के आपकी साइट को लोड करना आसान बनाता है।

+0

मुझे लगता है कि आपके उत्तर का उपयोग "512 एमबी रैम", "विंडोज एक्सपी", "256 एमबी रैम" (एक आईफोन 3 जीएस के लिए) के बजाय, स्थानीयकरण के बारे में मेरा मुद्दा साबित करता है। –

+9

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

+0

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

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