22

J.M. Siskind's research statement कहता है:स्टालिन संकलक क्रूरता से अनुकूलित करने के तरीके के अन्य संदर्भ?

स्टालिन कि स्थिर पूरे कार्यक्रम विश्लेषण करता है और अत्यंत कुशल कोड उत्पन्न करने के लिए है कि विश्लेषण के परिणामों का उपयोग करता है योजना के लिए एक अनुकूलन संकलक है। स्टालिन स्थिर-विश्लेषण तकनीकों का एक बड़ा संग्रह उपयोग करता है। यह polyvariant प्रवाह विश्लेषण का एक उपन्यास रूप निष्पादित करता है जो प्रवाह-निर्देशित विभाजन करने के लिए पुनरावर्तित monovariant प्रवाह विश्लेषण का उपयोग करता है: प्रक्रियाओं की विशेष प्रतियों की क्लोनिंग और इस तरह के क्लोन के लिए लक्ष्य के प्रति कॉल-साइट असाइनमेंट। यह जीवन विश्लेषण विश्लेषण, विश्लेषण से बचने, विश्लेषण के लिए अंक, और उप-विश्लेषण विश्लेषण करने के लिए प्रवाह विश्लेषण के परिणामों का उपयोग करता है। ये विश्लेषण लाइटवेट क्लोजर रूपांतरण का एक उपन्यास रूप का समर्थन करते हैं जो परिवर्तनीय वैश्वीकरण और स्थानीयकरण जैसी तकनीकों का उपयोग करके अधिकांश बंद स्लॉट को समाप्त करता है, स्थिर बैकचेन को संपीड़ित करता है, और आम तौर पर कार्यक्रमों से अधिकतर बंदियों को समाप्त करता है। यह प्रवाह-निर्देशित क्षेत्र-आधारित स्टोरेज प्रबंधन का समर्थन करने के लिए उपर्युक्त विश्लेषणों का भी उपयोग करता है, जहां रन-टाइम कचरा संग्रह प्रति आवर्त-मूल्य और प्रति-कार्यक्रम-बिंदु आधार पर स्थैतिक आवंटन और विलोपन के साथ प्रतिस्थापित किया जाता है। यह बेहद कुशल प्रथम श्रेणी की निरंतरताओं का समर्थन करने के लिए, स्क्रैमर के साथ अग्रणी तकनीकों के विस्तार का उपयोग करके फ्लो-निर्देशित लाइटवेट सीपीएस रूपांतरण भी करता है। अंत में, यह प्रति-सार-मूल्य और प्रति-कार्यक्रम-बिंदु आधार पर टैग, टैग जांच, और टैग प्रेषण के कार्यान्वयन (या अनुपूरक) को चुनने के लिए प्रवाह-निर्देशित इनलाइनिंग और निम्न-स्तरीय प्रतिनिधित्व चयन का समर्थन करता है। यह प्रोग्राम से अधिकांश रन-टाइम टैग, टैग चेकिंग, टैगिंग, टैग स्ट्रिपिंग, टैग प्रेषण, मुक्केबाजी और अनबॉक्सिंग को समाप्त करता है। ये विश्लेषण और अनुकूलन स्टालिन को बेहद कुशल कोड उत्पन्न करने की अनुमति देते हैं जो कि अन्य सभी स्कीम कंपाइलर्स को दो से एक सौ के बीच विशेष रूप से संख्यात्मक रूप से गहन कोड के लिए बेहतर बनाता है। स्टालिन अक्सर कोड उत्पन्न करता है जो हस्तलिखित सी और फोरट्रान कोड से बेहतर प्रदर्शन करता है।

मैं बंद पर निम्नलिखित बहुत ही दिलचस्प कागज को खोजने के लिए कर रहा था/फ़ंक्शन को कॉल कार्यान्वयन: Flow-Directed Lightweight Closure Conversion। मैं भी लेखक ईमेल करते हैं अन्य विषयों पर पत्र, जो के रूप में बंद के रूपांतरण पत्र में लिखा होना चाहिए उल्लेख कर रहे हैं के बारे में पूछने के लिए:

Siskind, जे.एम. 2000a। प्रवाह निर्देशित हल्के सीपीएस रूपांतरण। तैयारी में।

सिस्किंड, जे एम 2000 बी। प्रवाह निर्देशित polyvariance। तैयारी में।

सिस्किंड, जे एम 2000 सी। प्रवाह निर्देशित प्रतिनिधित्व चयन। तैयारी में।

सिस्किंड, जे एम 2000 डी। प्रवाह निर्देशित भंडारण प्रबंधन। तैयारी में

दुर्भाग्य से, वह उन कागजात लिखने के लिए कभी नहीं मिला। मेरा प्रश्न है: क्या कोई वैकल्पिक या संबंधित कागजात हैं जो इन विषयों को कवर करते हैं? मुझे यह जानने में बहुत दिलचस्पी है कि कैसे स्टालिन (या अन्य कंपाइलर्स) ऐसी उच्च स्तरीय भाषा को संकलित कर सकते हैं, जो कि कचरा इकट्ठा किया गया है, गतिशील रूप से टाइप किया गया है, प्रथम श्रेणी के कार्यों का समर्थन करता है, और यहां तक ​​कि प्रथम श्रेणी की निरंतरताओं को भी इस तरह के कुशल कोड में संकलित किया जा सकता है ।

+10

मुझे आश्चर्य है, यहां करीबी वोट क्यों हैं? –

+0

शायद कुछ लोग सोचते हैं कि यह शीर्षक के कारण मजाक है? अधिक संभावना है, वे सोचते हैं कि यह बहुत सैद्धांतिक है। मैं असहमत हूं। –

+0

शायद क्योंकि सवाल cstheory stackexchange के लिए बेहतर है। – erjiang

उत्तर

4

R. Kent Dybvig's publications list

संपादित: Chez योजना के लिए एक अच्छा परिचय अपने ICFP presentation और paper that went along with that है। कुछ कागजात विशेष रूप से योजना (मैक्रोज़, बहु-मूल्य, निरंतरता) से संबंधित हैं और कुछ अधिक व्यापक रूप से लागू होते हैं (Register Allocation Using Lazy Saves, Eager Restores, and Greedy Shuffling)।

+1

विशेष रूप से कुछ भी जो योजना संकलक अनुकूलित करने पर लागू होता है? – spacemanaki

+0

क्या आपने सूची देखी थी? – erjiang

+2

हाँ मैंने किया, और कुछ खिताब स्पष्ट रूप से संकलक अनुकूलित करने से संबंधित नहीं हैं जबकि अन्य हो सकते हैं लेकिन मुझे यकीन नहीं है कि शुरू करने के लिए एक अच्छी जगह कहां है। मैं snarky होने की कोशिश नहीं कर रहा था, मैं वास्तव में उत्सुक था। क्या कोई ऐसा पेपर है जो आपको लगता है कि एक अच्छी शुरुआत होगी? – spacemanaki

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