मेरे पास 128-बिट स्ट्रिंग है, और मेरे पर्यवेक्षक ने मुझे उन 128 बिट्स को बहुपद के रूप में प्रस्तुत करने के लिए कहा है।प्रदर्शन में सुधार के लिए बिट्स के बजाय बहुपदों का उपयोग कैसे करें?
उनका विचार है, क्योंकि हम इन बिट्स से 0 सेकंड बाद नष्ट कर रहे हैं, हम अगले कार्रवाई करने में सक्षम हो जाएगा (जिनमें से अधिकांश हैं XOR: इस पत्र पर वह लिख रहा था के स्कैन है बिट्स/बहुपदों के बीच) यदि हम सभी बिट्स पर काम करते हैं तो उससे बहुत तेज़।
मैं समझता हूं कि आवश्यकता क्या है, और मैं इसे कागज पर और एप्लिकेशन में भी कर सकता हूं। लेकिन मेरा तरीका उनके लक्ष्य को हासिल नहीं करेगा, जो प्रदर्शन में सुधार कर रहा है। उन्होंने वास्तव में कहा कि पुस्तकालय पहले से ही ऐसा करते हैं, लेकिन दुर्भाग्य से मुझे कोई भी नहीं मिला। एकमात्र चीज जो मैंने पाया वह एक बहुपद वर्ग था जो बहुपदों का मूल्यांकन करता है, जो मैं नहीं चाहता हूं।
तो क्या आप जानते हैं कि प्रदर्शन को बेहतर बनाने के लिए मैं इसे कैसे कार्यान्वित कर सकता हूं? किसी भी कोड/स्निपेट/लेखों की बहुत सराहना की जाती है।
एप्लिकेशन जावा में लिखा गया है, अगर इससे कोई फर्क पड़ता है।
धन्यवाद,
मोटा
अद्यतन:
मेरे पर्यवेक्षक का कहना है कि इस C library कार्य करेंगे। मैं यह नहीं समझ सकता कि यह कैसे काम करता है और यह कैसे करेगा।
मैंने इसे एन्क्रिप्शन पुस्तकालयों, विशेष रूप से गैलोइस फ़ील्ड में किया है। मैं इससे अधिक विशिष्ट नहीं हो सकता, यह कुछ समय हो गया है क्योंकि मैंने इसे देखा है। –
http://en.wikipedia.org/wiki/Finite_field_arithmetic –
समस्या यह है कि अधिकांश मशीन प्रक्रिया बहुत तेजी से बिट्स होती है और यदि आप कुछ और करने की कोशिश करते हैं (.e.g *, +, /) इसे अभी भी बिट्स का उपयोग करना है। यदि बहुपद का उपयोग हर कारण से तेज़ होता है तो आप समाधान ले सकते हैं, इसे बिट्स में विभाजित कर सकते हैं और फिर बहुपदों को तोड़ सकते हैं और प्रत्येक पुनरावृत्ति के साथ इसे और अधिक तेज बना सकते हैं (इसके बजाय मुझे संदेह है कि यह हर बार धीमा हो जाएगा) ऐसी परिस्थितियां हो सकती हैं जहां वह सुझाता है तेज़, लेकिन मैं किसी के बारे में नहीं सोच सकता। –