2012-09-14 9 views
6

क्या पाइथन का उपयोग करते समय और अजगर कंपाइलर का उपयोग करते समय पाइथन प्रोग्रामिंग में कोई अंतर है? मैं पाइप का उपयोग करने की कोशिश करना चाहता था ताकि मेरा प्रोग्राम निष्पादन समय तेज हो जाए। क्या पाइथन में काम करने वाले सभी वाक्यविन्यास भी पिल्ला में काम करता है? यदि कोई फर्क नहीं पड़ता है, तो क्या आप मुझे बता सकते हैं कि मैं डेबियन लुनक्स पर पिप्पी कैसे स्थापित कर सकता हूं और कुछ उपयोग उदाहरणों को पापी पर कैसे स्थापित कर सकता हूं? Google के विवरण के अलावा अन्य चीज़ों में अधिक जानकारी नहीं है।पिइप कंपाइलर का उपयोग

उत्तर

11
PyPy features page से

:

PyPy 1.9 लागू करता अजगर 2.7.2 और एआरएम और पीपीसी चल होने के साथ इंटेल x86 (IA-32) और x86_64 प्लेटफार्मों पर चलाता है,। यह पाइथन परीक्षण सूट पास करने, कोर भाषा के सभी का समर्थन करता है।

इसका मतलब है कि आपके द्वारा पाइथन 2.7 में लिखा गया कोई भी कोड काम करेगा। उल्लेख करने के लायक एकमात्र अपवाद सी में लिखे गए कुछ अजगर एक्सटेंशन हैं, जैसे कि numpy

स्थापना काफी आसान होनी चाहिए, आप download a linux binary from here कर सकते हैं। फिर बस दुभाषिया निकालें। इस बिंदु से, आप अपने पायथन कार्यक्रमों को इस तरह के समान चला सकते हैं कि आप उन्हें सामान्य पायथन दुभाषिया के साथ कैसे चलाएंगे।

कमांड लाइन पर, के बजाय:

python my_program.py 

उपयोग:

path/to/where/you/installed/pypy my_program.py 

कैसे/तुम क्यों PyPy उपयोग कर सकते हैं के उदाहरण के लिए, बाहर this video PyCon 2012 से

जाँच
+2

यह भी देखें http://pypy.org/compat.html जो पीपीपी और वर्तमान 2.x सीपीथन के बीच सभी प्रमुख ज्ञात अंतरों को सूचीबद्ध करता है, और सभी ज्ञात मतभेदों को एक निग्लिंग स्तर के विस्तार के लिए एक लिंक है। – abarnert

+0

सामान्य रूप से तेजी से पसीना नहीं है? जब मैं अपने प्रोग्राम को पाइप का उपयोग करके निष्पादित करता हूं, तो यह एक पायथन लिपि के सामान्य निष्पादन की तुलना में दो बार समय ले रहा है। अजीब...!! –

+3

कई मामलों में पापी तेज हो जाएगा, लेकिन सभी नहीं। बड़े, लंबे निष्पादन कार्यक्रमों में आपको बड़ी गति दिखाई देने की अधिक संभावना होगी। यहां कई अलग-अलग कार्यों पर सीपीथन और पीपीपी के बीच एक गति तुलना है: http://speed.pypy.org/ ध्यान दें कि पीपीपी दूसरों के मुकाबले कुछ बेहतर है। – Wilduck

2

पाइप पाइथन भाषा का एक अनुपालन वैकल्पिक कार्यान्वयन है। इसका मतलब है कि कुछ (जानबूझकर) मतभेद हैं। कुछ मतभेदों में से एक है pypy संदर्भ गणना का उपयोग नहीं करता है। इसका अर्थ यह है कि, उदाहरण के लिए, आपको अपनी फ़ाइलों को मैन्युअल रूप से बंद करना होगा, जब आपकी फ़ाइल वैरिएबल स्पीप से बाहर हो जाती है तो वे स्वचालित रूप से बंद नहीं होंगे।

+0

"* कुछ * जानबूझकर वाक्यविन्यास मतभेद"? किसी के विरोध में नहीं? क्या आप कोई वाक्य रचनात्मक मतभेद दे सकते हैं? – delnan

+0

मेरे बारे में आह मैला। मेरा मतलब अंतर था, विशेष रूप से वाक्यविन्यास मतभेद नहीं। –

+2

फ़ाइलें * स्वचालित रूप से बंद हो जाएंगी, आप बस इसे तुरंत होने पर भरोसा नहीं कर सकते हैं। तो 'खुला (' foo ',' w ')। लिखें (' test '); प्रिंट ओपन ('foo', 'r')। पढ़ें() '" परीक्षण "प्रिंट करने की संभावना नहीं है। लेकिन यह बुरा पाइथन वैसे भी है, क्योंकि (ए) आधिकारिक पायथन दस्तावेज़ इस बात की गारंटी नहीं देते हैं कि इसका उपयोग किया जाएगा, और अधिक महत्वपूर्ण बात यह है कि (बी) रास्ते पर सार्थक प्रभाव डालने के लिए गुंजाइश से बाहर निकलने वाली चीजों से ट्रिगर किए गए दुष्प्रभाव पर निर्भर आपका प्रोग्राम संचालित है * एक पूर्ण * उल्लंघन "स्पष्ट से स्पष्ट स्पष्ट है" का उल्लंघन है। – Ben

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