क्या मैं साइबरविन के कांटे को गति दे सकता हूं?


15

मैं लगभग 30-50 प्रति-सेकंड ( लिंक ) के विंडोज एक्सपी में एक अपेक्षित 'कांटा दर' देने के लिए, साइगविन में फोर्किंग की गति के बारे में चर्चा करते हुए एक पोस्ट पर आया था

मुझे एक कोर 2 डुओ (1.79GHz) मिला है, जिसकी मैं तुलनात्मक परिणाम प्राप्त करने की उम्मीद करूंगा, लेकिन यह केवल 8 फोर्क्स प्रति सेकंड (और कभी-कभी बहुत कम) का प्रबंधन कर रहा है:

$ while (true); do date --utc; done | uniq -c
      5 Wed Apr 21 12:38:10 UTC 2010
      6 Wed Apr 21 12:38:11 UTC 2010
      1 Wed Apr 21 12:38:12 UTC 2010
      1 Wed Apr 21 12:38:13 UTC 2010
      8 Wed Apr 21 12:38:14 UTC 2010
      8 Wed Apr 21 12:38:15 UTC 2010
      6 Wed Apr 21 12:38:16 UTC 2010
      1 Wed Apr 21 12:38:18 UTC 2010
      9 Wed Apr 21 12:38:19 UTC 2010

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

अपडेट करें

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


1
साइग्विन हमेशा धीमा, धीमा रहेगा। यहां तक ​​कि VirtualBox / VMWare तेजी से प्रदर्शन देगा, या यदि आपको एक देव वातावरण की आवश्यकता है, तो msys के साथ जाएं। लेकिन यह ... पता नहीं है .. वास्तव में कभी भी प्रयोग करने योग्य नहीं पाया गया।
अपाचे

अच्छा, सरल कांटा बेंचमार्क के लिए +1! बस मेरे i7 विंडोज लैपटॉप के साथ तुलना करने के लिए 5 $ / महीने के लिनक्स वीपीएस पर इसे चलाया, और वीपीएस ने 30x अधिक स्कोर किया।
मार्क के कोवन

जवाबों:


2

यह कांटा धीमा होने से कोई लेना-देना नहीं है।

मैंने देखा है कि जब "होम" निर्देशिका एक नेटवर्क ड्राइव पर थी, तब मैंने साइबरविन को कुत्ते को धीमी गति से चलाते देखा था। हर एक आदेश वहाँ दूरबीन धीमी गति से चीजों को जबरदस्त तरीके से खोजेगा।

देखो अगर

while (true); do /bin/date --utc; done | uniq -c

तेजी से, अगर ऐसा है, तो शायद आपकी समस्या है

अन्यथा स्ट्रेस / लेट्रेस (यदि वे साइबरविन पर भी काम करते हैं) के माध्यम से बैश चलाने की कोशिश करें और देखें कि यह क्या कर रहा है जब तारीख को निष्पादित करने में 1 सेकंड का समय लगता है।


1
दुर्भाग्य से, रास्तों को हार्ड-कोडिंग करने से कोई प्रशंसनीय अंतर नहीं पड़ता है। स्ट्रीग साइग्विन में काम करता है, लेकिन जब मैं ट्रेस देखता हूं तो कुछ भी नहीं निकलता है।
एंड्रयू आइलेट

1

मुझे डर है कि इस बारे में आप कुछ नहीं कर सकते।

विंडोज में एक देशी fork()syscall नहीं है, इसलिए Cygwin को इसका अनुकरण करना होगा। हालांकि इस अनुकरण का कार्यान्वयन बहुत ही अक्षम है। ( साइगविन FAQ देखें )

MSYS2, जो अक्सर उन अनुप्रयोगों में उपयोग किया जाता है जहां कोई विंडोज़ पर संभवतः पूरी तरह से चित्रित लिनक्स-जैसे कमांड लाइन वातावरण चाहता है, साइगविन पर आधारित है, यही कारण है कि यह भी इससे प्रभावित होता है।

यह वास्तव में इतना बुरा है, कि fork()विंडोज पर लिनक्स की तुलना में कम से कम एक परिमाण धीमा है

msys2bash-windows-box$ time { date; }
Sa, 24. Feb 2018 16:51:44

real    0m0,046s
user    0m0,000s
sys     0m0,000s

msys2bash-windows-box$ while (true); do /bin/date --utc; done | uniq -c
     13 Sa, 24. Feb 2018 15:57:18
     17 Sa, 24. Feb 2018 15:57:19
     16 Sa, 24. Feb 2018 15:57:20


bash-linux-box$ time { date; }
Sat Feb 24 15:51:54 UTC 2018

real    0m0.002s
user    0m0.000s
sys     0m0.000s

bash-linux-box$ while (true); do date --utc; done | uniq -c
    211 Sat Feb 24 15:56:35 UTC 2018
    286 Sat Feb 24 15:56:36 UTC 2018
    260 Sat Feb 24 15:56:37 UTC 2018

उपरोक्त उदाहरण एक i5-2500k @ 4GHz, 32GiB RAM विंडोज 10 प्रो बॉक्स बनाम एक बेकार वन-कोर, 1GiB RAM VPS के बीच अंतर को दर्शाता है


0

तुम कांटे नहीं देख रहे हो; आप दिन घड़ी का समय पढ़ने के लिए कांटा, निष्पादन, सिस्टम कॉल देख रहे हैं, आउटपुट को स्वरूपित और परिवर्तित कर सकते हैं। समानांतर में जो भी समय साझा करना है उसका उल्लेख नहीं करना।

किस आधार पर आप कहते हैं कि अन्य मशीनें "वास्तव में धीमी थीं "? बहुत सारी चीजें हैं जो कंप्यूटर की वास्तविक गति और उपयोगकर्ता की कंप्यूटर गति की धारणा में योगदान करती हैं। आप किस तरह की चीजें कर रहे हैं जहां कांटे / सेक प्रदर्शन का एक अच्छा उपाय है? मेमोरी गति, वास्तुकला और राशि क्या है? डिस्क I / O गति और बफरिंग?

जो आपको लगता है कि अधिक कांटे / सेक करेंगे: 512 एमबी रैम या 2 जीबी के साथ एक न्यूनतम लिनक्स चलाने वाले सेलेरॉन के साथ एक कोर आई 7 विस्टा चल रहा है?


@ mpez0: कृपया मेरा अद्यतन औचित्य देखें। आपके प्रश्नों का विशेष रूप से उत्तर देने के लिए, यह कहने का मेरा आधार है कि वे धीमे थे, वे धीमी घड़ी की गति, कम (और धीमी) रैम और एक पुरानी, ​​धीमी डिस्क के साथ पुराने आर्किटेक्चर के थे, लेकिन फिर भी एक्सपी। लिनक्स फोर्किंग में लगभग हमेशा तेज होगा, क्योंकि यह कर्नेल में एक फोर्किंग मॉडल का उपयोग करता है जहां विंडोज नहीं करता है। मेरे पास एक P3 है जो स्कोर ~ 60 उस बेंचमार्क पर है :)।
एंड्रयू आइलेट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.