Prolog Language
प्रदर्शन
खोज…
सार मशीन
दक्षता के लिए, प्रोलॉग कोड आमतौर पर अमूर्त मशीन कोड को चलाने से पहले संकलित किया जाता है।
प्रोलॉग कार्यक्रमों के कुशल निष्पादन के लिए कई अलग-अलग अमूर्त मशीन आर्किटेक्चर और वेरिएंट प्रस्तावित किए गए हैं। इसमें शामिल है:
- WAM , वॉरेन एसेन्स मशीन
- TOAM , बी- प्रोलॉग में प्रयुक्त एक अमूर्त मशीन।
- ज़िप , उदाहरण के लिए SWI-Prolog के VM के आधार के रूप में उपयोग किया जाता है
- VAM , एक अनुसंधान वास्तुकला वियना में विकसित हुआ।
इंडेक्सिंग
सभी व्यापक रूप से उपयोग किए जाने वाले प्रोलोग व्याख्याकार कुशलता से उपयुक्त खंडों का चयन करने के लिए तर्क अनुक्रमण का उपयोग करते हैं।
उपयोगकर्ता आमतौर पर कम से कम पहले तर्क अनुक्रमण पर भरोसा कर सकते हैं, जिसका अर्थ है कि क्लाज को पहले तर्क के सबसे बाहरी शब्द के फंक्शनल और एरिटी के अलावा कुशलता से बताया जा सकता है। कॉल में जहां उस तर्क को पर्याप्त रूप से त्वरित किया जाता है, उस तर्क पर हैशिंग के माध्यम से मिलान खंडों को अनिवार्य रूप से निरंतर समय में चुना जा सकता है।
हाल ही में, जेआईटी इंडेक्सिंग को अधिक सिस्टम में लागू किया गया है, जो किसी भी तर्क पर डायनामिक इंडेक्सिंग को सक्षम करता है, जो कि विधेय होने पर पर्याप्त रूप से त्वरित रूप से त्वरित होता है।
टेल कॉल ऑप्टिमाइज़ेशन
वस्तुतः सभी प्रोलॉग सिस्टम टेल कॉल ऑप्टिमाइज़ेशन (TCO) को लागू करते हैं। इसका मतलब यह है कि एक पूंछ स्थिति में हैं कि विधेय कॉल निरंतर ढेर अंतरिक्ष में निष्पादित किया जा सकता है अगर विधेय नियतात्मक है।
पूंछ पुनरावृत्ति अनुकूलन (TRO) पूंछ कॉल अनुकूलन का एक विशेष मामला है।