हार्डवेयर में कार्यान्वित, एक रजिस्टर-आधारित मशीन अधिक कुशल होने जा रही है क्योंकि धीमी रैम के लिए कम पहुंच है। सॉफ़्टवेयर में, हालांकि, यहां तक कि एक रजिस्टर आधारित आर्किटेक्चर में रैम में "रजिस्ट्रार" होने की संभावना है। एक स्टैक आधारित मशीन उस मामले में उतनी ही कुशल होगी।
इसके अतिरिक्त एक स्टैक-आधारित वीएम कंपेलरों को लिखना बहुत आसान बना रहा है। आपको पंजीकरण आवंटन रणनीतियों से निपटने की ज़रूरत नहीं है। आपके पास काम करने के लिए अनिवार्य रूप से रजिस्टरों की असीमित संख्या है।
अद्यतन: मैंने इस उत्तर को एक व्याख्याित वीएम मानते हुए लिखा था। यह एक जेआईटी संकलित वीएम के लिए सच नहीं हो सकता है। मैं this paper में भाग गया जो इंगित करता है कि एक जेआईटी संकलित वीएम एक रजिस्टर आर्किटेक्चर का उपयोग करके अधिक कुशल हो सकता है।
मैं देख सकता हूं कि आप क्या प्राप्त कर रहे हैं, लेकिन यह एक ढेर से अलग कैसे है? ढेर भी बहुत छोटे बनाया जा सकता है। –
वर्चुअल मशीनों को सॉफ़्टवेयर में कार्यान्वित करने के रूप में देखकर, आपका स्टैक आकार लगभग असीमित है। रजिस्टर सीमित हैं। मेरे पास आर 1-आर 32 हो सकता है। मैं सॉफ्टवेयर में r33 बना सकता हूं, लेकिन अन्य वर्गों को क्या जानने की आवश्यकता होगी? –
तोता में असीमित कई रजिस्ट्रार हैं। क्या आप वाकई उससे अधिक की जरूरत है? –