2011-12-12 6 views
14

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

एक बड़े डेटास्ट्रक्चर का एक सरल उदाहरण फ़ाइल को फिसल रहा है और फिर इसे प्रिंट कर रहा है (यह भी काफी छोटी फ़ाइल हो सकती है)।

ऐसा लगता है कि यह Win7 और उबंटू दोनों में होता है।

इस पर कैसे रोकें और यह क्यों हो रहा है इस पर कोई विचार की सराहना की जाएगी!

+0

दिलचस्प - मैंने विंडोज पर क्लोजरब्लॉक्स का उपयोग करके वही व्यवहार देखा और यह निष्पादित करते समय बाधा डालने के तरीके की इच्छा रखने के लिए भी मेरे पैर की उंगलियों को टैप कर रहा था। पुन: पेश करने के लिए कोड यहां दिया गया है: https://gist.github.com/1454300 - पल्प फिक्शन के लिए पटकथा को संसाधित करता है। – noahlz

उत्तर

8

जब मैं इस समस्या में चला जाता हूं (जो अक्सर होता है), तो मैं बस प्रतिलिपि बफर साफ़ करता हूं। आप इसे सी-सी एम-ओ के साथ कर सकते हैं, या "आरईपीएल" मेनू आइटम के तहत "साफ़ बफर" का उपयोग करके कर सकते हैं। यह प्रतिलिपि को पुनरारंभ नहीं करता है, और कमांड इतिहास और जैसे अप्रभावित हैं।

+0

मुझे नहीं पता कि यह क्यों काम करता है, लेकिन यह मेरे लिए भी काम करता है। – georgek

+0

इसका कारण यह है कि यह एक प्रतिकृति समस्या नहीं है, लेकिन Emacs में बफर के आकार के साथ एक मुद्दा है। बड़े पैमाने पर बड़े बफर से निपटने में Emacs अच्छा नहीं है। – vedang

+0

इस बात का जिक्र करने के बाद मैंने इसे चेक आउट किया, आपका अधिकार, एक कम इतिहास समाशोधन तकनीक सीसी कंपनी है जो सिर्फ अंतिम प्रविष्टि को फिसलती है ... मैं इस प्रश्न को थोड़ी देर के लिए खोल दूंगा ताकि यह देखने के लिए कि क्या वास्तव में कोई अच्छा कारण है इस के लिए या एक फिक्स। मैं कल्पना नहीं कर सकता कि "Emacs बहुत सारे पाठ को संभाल नहीं सकता है" एक पाठ संपादक के लिए एक अच्छा बहाना है ... – toofarsideways

2

एक तरीका यह है कि आप आरईपीएल से कितनी जानकारी मुद्रित कर सकते हैं, यह नियंत्रित कर सकते हैं कि *print-length* और *print-level* चर का उपयोग करके क्लोजर से ही है।

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