लिनक्स की तुलना में Emacs को विंडोज पर शुरू होने में अधिक समय क्यों लगता है?


14

विन्यास:

  • एक प्रणाली
  • डुअल बूट के रूप में ओएस विंडोज 10
  • ओएस बूट 15.10 दोहरी बूट के रूप में
  • जीयूआई के साथ 25.0.1 Emacs

मेरे पास एक dot-emacsफ़ाइल और मेरे .emacs.dफ़ोल्डर में सब कुछ है (पैकेज भी स्थित हैं .emacs.d)। ये सभी फाइलें एक ड्रॉपबॉक्स फ़ोल्डर में स्थित हैं।

विंडोज 10 पर: मैंने विंडोज में dot-emacsऔर .emacs.dहोम फोल्डर से ड्रॉपबॉक्स में स्थानों के लिए सहानुभूति व्यक्त की ।

Linux / Ubuntu 15.10 पर: मैं भी सांकेतिक रूप से लिंक है dot-emacsऔर .emacs.dमेरी उबंटू घर फ़ोल्डर से (/ घर / उपयोगकर्ता / ड्रॉपबॉक्स में स्थानों के लिए।

इसलिए Emacs से संबंधित सभी फाइलें, विभिन्न ऑपरेशन सिस्टमों में एक ड्रॉपबॉक्स फ़ोल्डर में संग्रहीत की जाती हैं।

विंडोज और लिनक्स एक ही डिस्क पर दोहरे बूट के रूप में चल रहे हैं, इसलिए समान हार्डवेयर भी।

जब मैं विंडोज पर Emacs शुरू करता हूं, तो इसे शुरू होने में 7.4 सेकंड लगते हैं।

जब मैं लिनक्स पर Emacs शुरू करता हूं, तो इसे शुरू करने में केवल 2.3 सेकंड लगते हैं।

यह दोनों चित्रमय GUI और संस्करण 25.0.1 के साथ Emacs के साथ है। दोनों ऑपरेटिंग सिस्टम एक ही एसएसडी ड्राइव पर एक ही कंप्यूटर पर स्थित हैं। तो यह भी वही हार्डवेयर है।

ऑपरेटिंग सिस्टम (Windows 10 और Ubuntu 15.10) पर निम्न बातें समान हैं:

  • Emacs सॉफ्टवेयर, संस्करण 25.0.1
  • कॉन्फ़िगरेशन फ़ाइलें (.emacs.d)
  • एक हार्डडिस्क (सभी फाइलें .emacs.d के अंदर) और दोनों OS'es एक ही SSD पर हैं)।
  • हार्डवेयर

एक अंतर:

  • विंडोज या लिनक्स के लिए संकलित Emacs क्रमशः विंडोज या लिनक्स प्लेटफॉर्म पर चल रहा है। बस यही फर्क है।

मैं यह समझने के लिए संघर्ष कर रहा हूं कि एमएसीएस ने विंडोज की तुलना में उबंटू पर काफी कम स्टार्टअप समय क्यों दिया है।


2
आप यह उल्लेख करना भूल गए कि यह क्या है। इसके अलावा, आपको एक नंगे Emacs सत्र के स्टार्टअप समय की तुलना करनी चाहिए emacs -Q
वामासा

मुझे (message emacs-init-time)स्टार्टअप समय को मापने की आवश्यकता है । जहाँ तक मुझे पता है, यह एक फंक्शन के लिए बाध्य नहीं है। तो मैं इसे तब तक कैसे माप सकता हूं emacs -Q?
रेनेफ्रॉगर

1
M-x emacs-init-time RET
जिओरडनो

1
मुझे यह समस्या भी दिख रही है .. मेरे इमैक्स को लिनक्स पर शुरू करने में 5-6 सेकंड लगते हैं, लेकिन विंडोज पर एक मिनट तक। शुक्र है, काम पर विंडोज मेरा प्राथमिक ओएस नहीं है।
कौशल मोदी

1
ऐसा इसलिए है क्योंकि मुझे लगता है कि जीसीसी है। विंडोज एमएसीएस को जीसीसी में संकलित किया गया है, जो खिड़कियों में महान नहीं है, कई कीड़े और इतने पर हैं। अगर दृश्य C ++ के साथ EMACS संकलित करने का कोई तरीका है, तो मैं प्रदर्शन देखना चाहूंगा।
जोओ पाउलो एंड्रेड

जवाबों:


21

Op-ed: विंडोज अभी धीमा है।

मैं नियमित रूप से विंडोज (साइगविन और देशी) और जीएनयू / लिनक्स (आर्क) दोनों पर एमएसीएस का उपयोग करता हूं, और मैंने इस पर भी ध्यान दिया है। मेरा मानना ​​है कि उत्तर यह है कि लिनक्स बहुत सारे क्षेत्रों में विंडोज से तेज है, सबसे उल्लेखनीय रूप से फाइल सिस्टम ऑपरेशन 1 और थ्रेडिंग / फोर्किंग ऑपरेशन 2

मुझे लगता है कि प्रदर्शन का अंतर git का उपयोग करते समय सबसे विशेष रूप से अनुकरणीय है, और विशेष रूप से Magit (क्योंकि यह अपनी स्थिति बफर के लिए काफी कुछ कमांड चलाता है)। Git Windows पर बहुत धीमी गति से है। यह इतना धीमा है, वास्तव में, कि मैं अक्सर अपने ड्रॉपबॉक्स फ़ोल्डर में विंडोज पर कोड को संपादित करता हूं, इसके लिए मेरे लिनक्स वीपीएस के साथ समन्वयित होने की प्रतीक्षा करता हूं, और फिर एसएसएच के माध्यम से मैगिट का उपयोग करता हूं, बजाय इसे विंडोज पर उपयोग करने के।

time git statusEmacs मास्टर शाखा पर करना मेरे लिए Arch पर औसतन 0.025 सेकंड का समय लेता है। विंडोज (देशी) पर, यह 0.075-0.100 सेकंड, विंडोज (साइबर) 0.200 सेकंड लेता है। यह बहुत ज्यादा नहीं लग सकता है, लेकिन इसका मतलब है कि यह विंडोज पर 3-4x धीमा है।

मुझे यह भी ध्यान देना चाहिए कि कुछ एंटी-वायरस सॉफ़्टवेयर (विशेष रूप से मैक्फी) बड़े पैमाने पर मंदी का कारण बन सकते हैं। McAfee के ऑन-एक्सेस स्कैनर सक्षम होने के साथ, चीजें मेरे लिए काफी धीमी हैं। Cygwin का git statusसमय 2 मिनट तक लग सकता है! इसे बंद करने के बाद ही मैं ऊपर बताए गए समय को प्राप्त करता हूं।


एक तरफ: मुझे सिर्फ वैरिएबल मिला magit-refresh-verbose, जो कई बार स्टेटस रिफ्रेश करता है। magit-statusEmacs मास्टर ब्रांच पर बफर के रिफ्रेश के लिए कुछ समय यहां दिए गए हैं :

विंडोज (देशी)

GNU Emacs 24.5.1 (i686-pc-mingw32) of 2015-04-11 on LEG570
Magit 20151028.1649, Git 2.6.1.windows.1, Emacs 24.5.1
Refreshing buffer `*magit: emacs'...done (9.317s)
Refreshing buffer `*magit: emacs'...done (9.318s)
Refreshing buffer `*magit: emacs'...done (9.357s)

विंडोज (साइबर)

GNU Emacs 25.0.50.1 (i686-pc-cygwin) of 2015-07-29 on NAND-LT
Magit 20151015.22, Git 2.5.0.234.gefc8a62, Emacs 25.0.50.1
Refreshing buffer `*magit: emacs'...done (4.609s)
Refreshing buffer `*magit: emacs'...done (4.720s)
Refreshing buffer `*magit: emacs'...done (4.626s)

GNU / Linux (आर्क, बदतर हार्डवेयर, VPS)

GNU Emacs 25.0.50.6 (x86_64-unknown-linux-gnu, GTK+ Version 3.18.2) of 2015-10-26
Magit 20151028.1649, Git 2.6.2, Emacs 25.0.50
Refreshing buffer ‘*magit: emacs’...done (0.517s)
Refreshing buffer ‘*magit: emacs’...done (0.507s)
Refreshing buffer ‘*magit: emacs’...done (0.523s)

साइगविन की तेज रफ्तार ने मुझे चौंका दिया।

  1. http://www.slideshare.net/PrincipledTechnologies/comparing-file-system-performance-red-hat-enterprise-linux-6-vs-microsoft-windows-server-2012

  2. /programming/12878980/speed-performance-of-a-qt-program-windows-vs-linux


क्या आपने git-related कमांड के लिए पथ जोड़ने का प्रयास किया है exec-path? ( stackoverflow.com/questions/16884377/… ) मेरे मामले में इसने गति में काफी सुधार किया।
जून

1
@ जून हां, सभी प्रासंगिक रास्ते पहले से ही मेरे में हैं exec-path
नानी

मैं देखता हूं - मुझे इसे एक लिनक्स बॉक्स में भी परीक्षण करना चाहिए। धन्यवाद!
जून

@ जून कोई समस्या नहीं। अगर आपको विंडोज पर इसे तेज करने का कोई तरीका मिल जाए, तो कृपया मुझे बताएं। यह वास्तव में एक दर्द है।
नानी

1
लेकिन सवाल अभी भी खड़ा है .. यहां तक ​​कि Git के बिना, Emacs विंडोज पर क्यों धीमी है?
रेनेफ्रॉगर

0

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

Emacs सर्वर

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.