मैं .NET में एक प्रोजेक्ट विकसित कर रहा हूं, जिसमें से एक हिस्सा मैं श्रृंखला श्रृंखला में हेरफेर कर रहा हूं।कार्यात्मक प्रोग्रामिंग (एफ #) का उपयोग कर समय श्रृंखला कार्यान्वयन की सिफारिश की है?
चूंकि परियोजना का मुख्य भाग सी # में लागू किया गया है, इसलिए मैंने ऑब्जेक्ट-ओरिएंटेड डिज़ाइन को SortedDictionary<DateTime,T>
से विरासत में मिलाया है।
हालांकि, मुझे पिछले कुछ सालों से कार्यात्मक प्रोग्रामिंग से प्यार हो रहा है, और मुझे लगा कि चूंकि यह घटक सुंदर जंगली और गहन एल्गोरिदम के अधीन होगा, इसलिए मैं इसे समानांतर में संसाधित करने के इच्छुक हूं, और मैं एक अपरिवर्तनीय संरचना का आनंद लेंगे।
मैं एक प्रकार को परिभाषित करने के रूप में इस का उपयोग करते हुए एफ # में यह डिजाइन करने के बारे में सोचा:
type TimeSeries<'t> = (DateTime * 't) seq
और इसके साथ चल रहा है।
यह अपरिवर्तनीय होने का लाभ होगा, और समानांतर में निष्पादन F # के Async
मॉड्यूल का उपयोग करके बहुत सरल होगा। मैं एफ # की माप सुविधा की इकाई का भी उपयोग कर सकता हूं।
मैं सी # में गणनाओं के परिणामों का उपयोग करने के लिए थोड़ा डर रहा हूं, और मुझे आश्चर्य हुआ कि अगर कोई पहले से प्रयास कर रहा है तो मुझे परिणाम में परिणाम के बारे में कुछ प्रतिक्रिया दे सकती है।
क्या अंत में उपयोग करना आसान था या सी # से एफ # में स्विच करना बहुत जटिल था?
यह तथ्य नहीं है कि संग्रह श्रृंखला बड़ी होने पर एक दक्षता समस्या अपरिवर्तनीय है?
क्या मैं तत्वों को विभाजित करने का प्रयास करने पर सामान्य प्रकार को सामान्य रखने में सक्षम हूं, या क्या मुझे अपने कार्यों के साथ TimeSeries<float>
पर स्विच करना होगा?
यदि मैं कुछ सुविधाओं के लिए समय श्रृंखला पर सी # आधारित एल्गोरिदम का उपयोग करना चाहता हूं, तो क्या यह पूरा विचार बेकार हो जाएगा?
क्या आपको समय श्रृंखला के कार्यात्मक कार्यान्वयन की दक्षता पर किए गए शोध का कुछ संदर्भ मिला है?
हाय, क्या आप इस प्रश्न पर अपडेट कर सकते हैं? मुझे यह तय करने की एक ही समस्या है कि कौन सा कार्यान्वयन सबसे अच्छा होगा। मैं जहां संभव हो Iobervables 'वास्तविक समय' अपडेट का उपयोग करने की योजना बना रहा हूं। – nicolas