2009-02-08 17 views
7

मैं लिख रहा हूं कि एक आवेदन के लिए आयरनपीथन को एक स्क्रिप्टिंग भाषा के रूप में एम्बेड करने पर विचार कर रहा हूं। तो इसे आज़माने के लिए, मैंने आयरनपीथन 2.0 डाउनलोड किया और इंटरैक्टिव दुभाषिया को निकाल दिया। बस शुरू करने के लिए मेरे इंटेल क्वाड कोर पर 6 गीगा मेमोरी के साथ लगभग 5 सेकंड लगते हैं। मैं शायद ही कल्पना कर सकता हूं कि कम शक्तिशाली मशीन के लिए यह कितना देरी होगी।आयरनपीथन प्रदर्शन

these benchmarks के आधार पर, ऐसा लगता है कि आयरनपीथन का प्रदर्शन वास्तव में बहुत बुरा नहीं है। या यह है? क्या मैंने स्थापना के दौरान कुछ गलत तरीके से कॉन्फ़िगर किया है? या यह इंटरैक्टिव दुभाषिया के साथ एक समस्या है?

उत्तर

13

आयरनपीथन का प्रदर्शन वास्तव में काफी अच्छा है। आपके द्वारा प्राप्त स्टार्टअप प्रदर्शन दंड को .NET रनटाइम के साथ करना होगा। .NET अनुप्रयोगों में आमतौर पर धीमा स्टार्टअप समय होता है क्योंकि बहुत से असेंबली लोड हो जाती हैं और उनमें से कुछ (कम से कम कुछ कक्षाएं) फ्लाई पर संकलित हो जाती हैं।

यह .NET में व्यवहार की अपेक्षा की जाती है। वास्तविक रनटाइम प्रदर्शन बहुत बेहतर है। यहां तक ​​कि स्टार्टअप प्रदर्शन को आयरनपीथन असेंबली को पूर्व-संकलित करके और जीएसी में एक प्रतिलिपि डालकर भी सुधार किया जा सकता है: आपकी मशीन का वैश्विक असेंबली कैश। यह gacutil.exe का उपयोग करके किया जा सकता है।

1

समय शुरू करें और चलने का प्रदर्शन सीधे संबंधित नहीं है। जावा एप्लेट्स को अपनी अधिकांश प्रतिष्ठा धीमी गति से नहीं मिली क्योंकि ऐप्पल धीरे-धीरे भाग गया लेकिन क्योंकि इसे शुरू करने में रन मिनट लग गए। यदि आप डेस्कटॉप ऐप कर रहे हैं, तो मैं स्टार्टअप प्रदर्शन के बारे में चिंता करूंगा। यदि आपका चल रहा सर्वर कोड जहां रन टाइम हमेशा होता है, तो यह कोई मुद्दा नहीं है।

4

आप बेहतर लाइब्रेरी को बेहतर ढंग से संकलित करने के लिए आयरनपीथन के साथ आने वाली मानक लाइब्रेरी को पूर्व-संकलित भी कर सकते हैं। एक pyc.py नमूना है जो यह कर सकता है।

+1

मैंने अभी कोशिश की है और मुझे मामूली _worse_ प्रदर्शन मिलता है। कोई विचार क्यों नहीं। – Cameron

2

कोर की संख्या शुरूआत करने के लिए बहुत अधिक अंतर बनाने के लिए पर्फ़ :)

स्टार्टअप विशेषकर इसलिए क्योंकि 32-बिट और 64-बिट के प्रदर्शन के बीच मतभेद की एक 64-बिट ऑपरेटिंग सिस्टम पर धीमी है नहीं जा रहा है घबराहट। ipy.exe विंडोज एसडीके से

  • उपयोग corflags.exe ipy32.exe को

    1. प्रतिलिपि: यदि आप एक 64-बिट ऑपरेटिंग सिस्टम का उपयोग कर रहे हैं, लेकिन एक 64-बिट प्रक्रिया की जरूरत नहीं है तो निम्न का प्रयास 32-बिट के रूप में ipy32.exe को "corflags /32bit + ipy32.exe" कहकर निष्पादन योग्य के रूप में चिह्नित करें।

    32-बिट संस्करण आपको बहुत बेहतर स्टार्टअप देना चाहिए - हालांकि अभी भी सीपीथन स्टार्टअप के जितना अच्छा नहीं है। लेकिन यह ऐसा कुछ है जिसे हम काम करना जारी रखते हैं।

  • 1

    कोडप्लेक्स पर आयरनपीथन कोड में दुभाषिया स्टार्टअप समय में सुधार हैं। हालांकि मैं अभी भी सीपीथन की तुलना में देरी देख रहा हूं, इसमें महत्वपूर्ण सुधार हुआ है।

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