यहाँ का उपयोग कर कार्यों मेरी बुनियादी समस्या है:ओवरलोडिंग अजगर गणित Cython
मैं अभी भी 100% CPython मेरी डेवलपर्स अनुमति देने के लिए संगत होना
from math import sin,cos,sqrt
मैं इस फ़ाइल की जरूरत है की एक आयात के साथ एक अजगर फ़ाइल है 100% सीपीथन कोड लिखने और पायथन के लिए विकसित महान उपकरण को नियोजित करने के लिए।
अब साइथन दर्ज करें। मेरी पायथन फ़ाइल में, ट्रिग फ़ंक्शंस को लाखों बार कॉल किया जाता है (कोड के लिए मूलभूत, इसे बदल नहीं सकता है)। वहाँ किसी भी तरह से है कि मुख्य अजगर फ़ाइल में कुछ अजगर-फू, या Cython जादू के माध्यम से अन्यथा मैं बजाय सी का उपयोग कर सकते है/C++ गणित Cython कोड पर कुछ परिवर्तन का उपयोग कार्यों
cdef extern from "math.h":
double sin(double)
जो मुझे निकट देना होगा सी प्रदर्शन, जो भयानक होगा।
Stefan's talk कहते हैं विशेष रूप से यह किया जा सकता है, लेकिन बात दो साल पुराना है, और कई रचनात्मक लोगों वहाँ
मैं यकीन है कि CPython पहले से ही इन कार्यों आंतरिक रूप से उपयोग करता हूँ। वे बुनियादी गणितीय परिचालनों का पुनर्मूल्यांकन क्यों करेंगे? – ThiefMaster
यदि आप बड़ी संख्या में मानों के लिए ट्रिग फ़ंक्शंस को कॉल करने जा रहे हैं, तो उन मानों को नम्पी सरणी में पैक करना और 'np.sin' और दोस्तों को कॉल करना पर विचार करें। –
@ थिफमास्टर - एससीआरटी फ़ंक्शन आयात करने वाली मेरी फ़ाइल से उत्पन्न साइथन ने .c कोड को देखा है, यह math.h संस्करणों का उपयोग नहीं करता है, जो दुर्भाग्यपूर्ण है – ibell