की प्रगति का ट्रैक रखें मेरे पास map
ऑपरेशन है (जो वास्तव में parMap
Control.Parallel.Strategies
से समानांतर में चलाया जाता है) इसमें काफी समय लगता है। यह देखते हुए कि मुझे पता है कि फ़ंक्शन को कितनी बार लागू किया गया है (n
इस संदर्भ में), मैं आसानी से कैसे प्रदर्शित कर सकता हूं, प्रत्येक बार कुछ समय में, n
अनुप्रयोगों में से कितने मूल्यांकन किए गए हैं?'मानचित्र'
स्पष्ट समाधान मानचित्र मानचित्रण समारोह के अंदर कुछ putStr
के साथ एक mapM
बनाने के लिए होगा, लेकिन है कि होगा:
- दक्षता के एक अनावश्यक राशि लेने के एक में हर एक बार स्थिति नमूना
- नहीं जबकि लेकिन हर अनुप्रयोगों में
- मूल रूप से समानांतरवाद के संदर्भ में एक नियतात्मक एल्गोरिदम के बारे में सभी अच्छी चीजों को दूर
तो, क्या इस जानकारी का ट्रैक रखने का कोई तरीका है, कि मुझे याद आ रही है, जो इन समस्याओं से बचाती है?
रोमानियाई में जाहिर तौर पर "चैंपियनशिप" अर्थ के अलावा, "कैंपियोनेट" का क्या अर्थ है? – dfeuer
आप 'monad-par' पैकेज को देखना चाहते हैं। ऐसा लगता है कि आप कहां देख रहे हैं, लेकिन 'Control.Monad.Par.IO' दर्द को थोड़ा कम कर सकता है। यह कल्पना की जा सकती है कि आप थ्रेडस्कोप को जाने वाले गुओ के प्रकार में हुक कर सकते हैं, लेकिन मुझे संदेह है कि आपको वह वही देगा जो आप चाहते हैं। थ्रेड रिपोर्ट पूर्ण होने के लिए एक और विकल्प 'ट्रेस' या 'असुरक्षितफॉर्मियो' जैसे कुछ भयानक और असुरक्षित उपयोग करना हो सकता है। मुझे लगता है कि आवश्यक समस्या यह है कि "इस तरह के धागे अभी तक खत्म हो गए हैं?" एक प्रश्न नहीं है जो शुद्ध संदर्भ में समझ में आता है। – dfeuer
आपको 'पैरामैप' प्रकार जोड़ना चाहिए, या उल्लेख करना चाहिए कि यह 'Control.Parallel.Strategies' से है या नहीं। – Zeta