एरलांग के लिए नया। मैं कुछ कोड लिखना शुरू कर रहा हूं। मेरे मन में जो समाधान है, वह दो तरीकों में से एक जा सकता है। मैं गणितीय गणना का एक गुच्छा कर सकता हूं, या मैं इसे बड़े पैमाने पर पैटर्न मिलान के रूप में कोड कर सकता हूं। जब मैं "पैटर्न मिलान" कहता हूं, तो मेरा मतलब रेगेक्स या ऐसा कुछ नहीं है - मेरा मतलब क्लॉज हेड में मिलान पैटर्न है।एरलांग पैटर्न मिलान प्रदर्शन
प्रदर्शन आमतौर पर चिंता का विषय नहीं है, हालांकि इस ऐप में यह है। मैं आपसे नहीं पूछ रहा हूं कि कौन सी विधि तेज होगी - मुझे यकीन है कि आप कहेंगे कि आप नहीं जानते (कई कारकों पर निर्भर करता है)। मैं जो पूछ रहा हूं वह क्लॉज हेड में मेल खाने वाले एरलांग पैटर्न का सामान्य प्रदर्शन है। दूसरे शब्दों में, प्रोलॉग में, इंजन को इस तरह की चीज करने के लिए अनुकूलित किया जाता है, इसलिए अन्य सभी चीजें बराबर होती हैं, आपको ऐसे समाधान को डिजाइन करने के लिए "प्रोत्साहित किया जाता है" जो क्लॉज हेड में पैटर्न मिलान और एकीकरण का लाभ उठाता है।
एरलांग का भी सच है, यानी एर्लंग प्रोलॉग के समान क्लॉज हेड में पैटर्न पैटर्न के लिए अनुकूलित है? यहां सवाल पूछने के बजाय, मैंने वास्तव में इसे एरलांग में प्रोफाइल करने की कोशिश की, और क्लॉज हेड के पैटर्न मिलान करने के लिए एक खिलौना कार्यक्रम लिखा जो कुछ मिलियन बार बनाम सूची को दो लाख बार बना रहा। लेकिन "दो लाख बार" के लिए सेट करने के लिए सिस्टम क्रैश हो जाएगा। लेकिन कुछ मिलियन से भी कम के लिए सेट, प्रदर्शन के बारे में कुछ भी जानने के लिए परिणाम मेरे लिए बहुत तेजी से वापस आ जाएगा।
किसी भी अंतर्दृष्टि के लिए धन्यवाद।
कोड्ज़ पोस्ट करें। इस सवाल के रूप में दोबारा जवाब दें कि यह क्यों दुर्घटनाग्रस्त हो जाएगा। – EvilTeach
कोड 2 बहुत ही सरल कार्यक्रम थे। पहला कार्यक्रम अनुक्रम खंड (0) -> 0 के 10 खंड प्रमुख थे; खंड (1) -> 0; (10 तक) परीक्षण करने के लिए मैंने 2 मिलियन 0 की सूची बनाने के लिए डुप्लिकेट का उपयोग किया, और उस पर क्लॉज मैप करने के लिए मानचित्र का उपयोग किया। दूसरा प्रोग्राम बस 7 पूर्णांक की 2 मिलियन सूचियां बनाने के लिए डुप्लिकेट का उपयोग कर रहा था, फिर उस पर योग मैप करने के लिए मानचित्र का उपयोग कर रहा था। फिर मैं प्रोग्रामिंग तकनीक के रूप में इस्तेमाल पैटर्न मिलान के सापेक्ष प्रदर्शन का परीक्षण करने की कोशिश कर रहा था। मेरा सवाल यह है कि क्या एर्लांग प्रोग्रामर को प्रोलॉग प्रोग्रामर के रूप में पैटर्न मिलान (जहां व्यावहारिक) का उपयोग करने के लिए प्रोत्साहित किया जाता है। – Ultranewb
उदाहरण के साथ बंप किया –