मैं मूल कोड जेनरेटर के रूप में एलएलवीएम का उपयोग करके एरलांग की नस में हल्के प्रक्रियाओं ("हरी धागे") के समर्थन के साथ एक समवर्ती भाषा को डिजाइन करने की सोच रहा हूं। लाइटवेट प्रक्रियाएं एमएस एन फैशन में देशी ओएस धागे को आवंटित की जाती हैं, और धागे के बीच कार्य-चोरी संभव होनी चाहिए (यानी प्रक्रियाओं को डेटा संरचना द्वारा दर्शाया जाना चाहिए जिसे आवश्यक होने पर धागे के बीच पारित किया जा सकता है)। एक ही बड़ी संख्या में प्रक्रियाएं एक साथ मौजूद हो सकती हैं, इसलिए प्रक्रियाओं को अधिक स्मृति नहीं लेनी चाहिए और उनके बीच संदर्भ स्विचिंग जितनी जल्दी संभव होनी चाहिए। इसके अलावा, संदर्भ स्विच के दौरान या कचरा संग्रह होने पर हल्के वजन को "रोकें" करना आसान होना चाहिए। मैं समझता हूं कि एरलांग में एलएलवीएम बैकएंड है, लेकिन मैं इसके कार्यान्वयन पर बहुत कम साहित्य पा सकता हूं; क्या कोई मुझे बता सकता है कि यह कैसे संभव हो सकता है?क्या एलएलवीएम "हरी धागे"/हल्के प्रक्रियाओं को लागू करने के लिए कोई सुविधा प्रदान करता है?
उत्तर
मुझे एलएलवीएम या एरलांग के साथ कोई विशिष्ट अनुभव नहीं है।
लेकिन मैंने पैरालांस नामक प्रोग्रामिंग लैंगेज में ऐसी प्रणाली लागू की है। हां, सस्ते स्विच होने के लिए संदर्भ स्विच करना मुश्किल है। इस पर
अधिक जानकारी तो जवाब: https://stackoverflow.com/a/999610/120163
क्या कम ज्ञान मैं LLVM की राशि चलता है कि यह मुश्किल हो सकता है। क्या आपको उत्पन्न करने की आवश्यकता है संदर्भ स्विचिंग कोड है। मुझे यकीन नहीं है कि एलएलवीएम सीधे का समर्थन करता है। यह निश्चित रूप से कुछ ऐसा नहीं है जो शुद्ध सी कोड उत्पन्न करते समय करना आसान है, क्योंकि भाषा प्राइमेटिव आपको मशीन/थ्रेड स्थिति में बहुत अच्छी तरह से जाने नहीं देते हैं।
वह सी ++ 14 सुविधाओं का समर्थन करने की कोशिश में क्लैंग पक्ष है, निश्चित रूप से "सी ++ देशी" धागे में ठोकर खाएगा। इसे सक्षम करने के लिए संदर्भ स्विचिंग समर्थन होना चाहिए, इसलिए हो सकता है कि किसी ने समस्या को हल किया हो या पहले से ही संबोधित किया हो।
एलएलवीएम इस प्रकार के सिस्टम को लागू करने के लिए सीधे प्रासंगिक नहीं है। ऐसी संरचनाओं वाली भाषाओं के लिए बहुत सी फ्रंटेंड्स हैं जो एलएलवीएम के आईआर के लिए कम हैं।
एलएलवीएम निष्पादन के एक धागे के लिए देशी कोड उत्पन्न करने के लिए सिर्फ कंपाइलर तकनीक है। संदर्भ स्विचिंग को कार्यान्वित करना, ढेर को उचित रूप से स्थापित करना (कैक्टस स्टैक्स या अन्य तकनीकों), और अन्य चिंताओं मुख्य रूप से रनटाइम और पर्यावरण की ज़िम्मेदारी है।
एक अपवाद आवश्यक होने पर स्टैक को बढ़ाने के लिए रनटाइम कॉल के संश्लेषण का समर्थन कर रहा है, और संभावित रूप से गैर-संगत क्षेत्रों में ढेर को विभाजित कर रहा है। टिप्पणियों में संकेत के अनुसार, एलएलवीएम के लिए इसका कुछ समर्थन है, हालांकि यह कम परीक्षण किया जाता है। हालांकि, एलएलवीएम में किसी भी समर्थन की आवश्यकता से बचने के लिए, आपका फ्रंटएंड स्टैक के उपयोग को भी नियंत्रित कर सकता है।
- 1. "तार्किक चर" क्या है और भाषा सुविधा को लागू करने के लिए सामान्य दृष्टिकोण क्या है?
- 2. क्या बाइनरीफॉर्मेटर कोई संपीड़न लागू करता है?
- 3. प्रदान करता है और सी # में समकक्ष लागू करता
- 4. एलएलवीएम समर्थन क्या एआरएम आर्किटेक्चर करता है?
- 5. क्या रिकॉर्ड्स में बदलावों के इतिहास को ट्रैक करने के लिए कोई MySQL विकल्प/सुविधा है?
- 6. क्या ओपनिड को लागू करने का कोई आसान तरीका है?
- 7. एलएलवीएम जेआईटी गति को तेज करता है?
- 8. क्या एलएलवीएम आईआर के लिए डीबगर है?
- 9. क्या Orbitz.com एकीकरण के लिए वाणिज्यिक एपीआई प्रदान करता है?
- 10. क्या सी ++ में कोई सुविधा निर्माता है?
- 11. क्या कोई मौसम एपीआई यूवी इंडेक्स प्रदान करता है?
- 12. क्या Azure "cloudapp.net" के लिए https प्रदान करता है?
- 13. क्या कोई जावा मानक वर्ग है जो संग्रह को लागू किए बिना इटरबल लागू करता है?
- 14. क्या GoogleAccountCredential टोकन रीफ्रेश प्रदान करता है?
- 15. knockout प्रमाणीकरण: त्रुटि के लागू करने के लिए त्रुटिElementClass लागू करने के लिए कोई विकल्प?
- 16. क्या बेसिक प्रमाणीकरण को लागू करने के लिए कोई सर्वर अज्ञेय तरीका है?
- 17. जावा में सिंक्रनाइज़ करने के लिए correspoding सुविधा क्या है?
- 18. एलएलवीएम कौन सा अनुकूलन करता है?
- 19. फ़ायरबेस डेटाबेस के साथ "टैग" सुविधा को लागू करने का सबसे अच्छा तरीका क्या होगा?
- 20. क्या पर्ल नियमित अभिव्यक्तियों के लिए 'ओ' संशोधक अभी भी कोई लाभ प्रदान करता है?
- 21. को लागू करने के लिए एक प्रकार लागू करता है कि विशेषता
- 22. क्या अल्फ्रेस्को शेयर इंटर डैशलेट संचार के लिए कोई मेकनवाद प्रदान करता है?
- 23. एक पायथन शब्दकोश के लिए, क्या itkeykeys दृश्यियों पर कोई लाभ प्रदान करता है?
- 24. क्या कोई जेनेरिक प्रकार है जो QueryInterface लागू करता है?
- 25. रोलबैक सुविधा कैसे लागू करें?
- 26. क्या ग्रोवी एक तंत्र प्रदान करता है?
- 27. क्या पृष्ठभूमिवर्कर वास्तविक मल्टीथ्रेडिंग प्रदान करता है?
- 28. डार्ट "एक्सपोन्डो" सुविधा क्या है, यह क्या करता है?
- 29. क्या रैचेट के साथ ग्रिड लेआउट को लागू करने का कोई तरीका है?
- 30. क्या कोई भविष्यवाणी करने के लिए कोई सुविधा तरीका है जो परीक्षण करता है यदि कोई फ़ील्ड किसी दिए गए मान के बराबर है?
आप विभाजित ढेर चाहते हैं। जीसीसी में उन्हें, शायद एलएलवीएम भी है –