टीएल; डीआर: लुआ में ओवरहेड होता है, लेकिन अगर इसका उपयोग ठीक से किया जाए तो यह नगण्य है और आसानी से कम हो जाता है। भारी गणित के संचालन या ज्यामिति को बदलने के लिए इसका उपयोग न करें। GUI की स्क्रिप्ट के लिए इसका उपयोग करने पर आपको संभवतः कोई प्रदर्शन समस्या नहीं दिखाई देगी।
मैंने खेल की स्क्रिप्टिंग भाषा के रूप में लुआ के प्रदर्शन के बारे में कुछ बुनियादी बेंचमार्क किए हैं, और यह बहुत तेज़ है। अपने खेल इंजन में LuaJIT को बांधने के लिए tolua ++ का उपयोग करते हुए, मैंने 2,000 अभिनेताओं को जन्म दिया, प्रत्येक Lua स्क्रिप्ट द्वारा नियंत्रित प्रत्येक अभिनेता को हर गेम लूप (एक समय-डेल्टा तर्क के साथ) कहा जाता है। आधे अभिनेताओं के पास एक झुंड की स्क्रिप्ट थी और बाकी आधे लोग एक तरह की रैंडम वॉक कर रहे थे (और झुंड से बच रहे थे)।
रेंडरिंग कंपोनेंट को बंद करने से मुझे अपने ओपर्टन 170 (2x2.0GHz) पर प्रति सेकंड 400 से अधिक टिक्स मिले, हालाँकि उस समय मेरा इंजन सिंगल था। मुझे लगता है कि अगर मैं अंदर खोदा और अनुकूलित किया, तो शायद मैं सी ++ में कुछ भारी काम कर रहा हूं, इससे काफी अधिक बाहर निचोड़ा जा सकता है। 2000 अभिनेताओं को प्रति सेकंड 400 बार अपडेट करना अभी भी बहुत प्रभावशाली था, और उस समय मेरी अपेक्षाओं से अधिक था।
अब मैं अपनी सभी परियोजनाओं में लुआ का उपयोग करता हूं, और यह वास्तव में वास्तविक गेम कोड (एआई, जीयूआई लेआउट / लॉजिक, इवेंट्स / मैसेजेस) के एक बड़े हिस्से का गठन करता है। जब आप जल्दी से किसी चीज को बदल सकते हैं और बाहर निकलने, फिर से इकट्ठा करने और पुन: व्यवस्थित करने के बिना परीक्षण कर सकते हैं, तो गेम बनाना अधिक मजेदार है। मैंने समय-समय पर कुछ प्रदर्शन मुद्दों में भाग लिया है, लेकिन उन आसानी से C ++ में अपमानजनक कोड को फिर से लागू करके (और फिर इसे Lua से कॉल करके) हल किया जाता है।
थोड़ा दूर के विषय में, EVE ऑनलाइन के सर्वर लगभग पूरी तरह से स्टैकलेस पायथन में लिखे गए हैं (मेरा मानना है कि वे अपने गणित के अधिकांश कार्यों को C ++ लिबास में स्थगित कर देते हैं), जो कि लूआ की तुलना में काफी भारी है, और, मेरे स्वयं के अनुसंधान और कई उपलब्ध पर आधारित है। बेंचमार्क, LuaJIT की तुलना में बहुत कम प्रदर्शन करने वाला। वे बहुत सारे मुद्दों के बिना 30k + समवर्ती खिलाड़ियों को संभालने का प्रबंधन करते हैं। दी, वे महंगे हार्डवेयर के एक टन है कि सब चल रहा है, लेकिन मुझे विश्वास है कि लागत का बहुमत उनके डेटाबेस क्लस्टर में है ...
पाठ की दीवार के लिए माफी।