मेरे दूसरे प्रश्न Haskell collections with guaranteed worst-case bounds for every single operation? से संबंधित, मैं उत्सुक हूँ: कब तक रुक जाता है कचरा संग्रहण की वजह से हो सकता है?कचरा संग्रहण के कारण हास्केल कार्यक्रम में कितने समय के विराम हो सकते हैं?
क्या हास्केल किसी प्रकार के वृद्धिशील कचरा संग्रह का उपयोग करता है ताकि एक कार्यक्रम केवल एक ही समय में छोटी अवधि के लिए रुक गया हो, या यह चरम मामले में कई सेकंड तक रुक सकता है?
मुझे इस विषय पर दो एसपीजे के कागजात मिले: https://research.microsoft.com/en-us/um/people/simonpj/papers/non-stop/index.htm। लेकिन मुझे इन संदर्भों को वास्तव में जीएचसी (या अन्य हास्केल कार्यान्वयन) द्वारा अपनाया गया था, लेकिन मुझे कोई संदर्भ नहीं मिला।
ध्यान दें कि सिद्धांत में कार्यक्रम के संचालन में अप्रत्याशित असंबद्ध देरी के कई कारण हैं। इनमें वर्चुअल मेमोरी पेजिंग जैसी चीजें शामिल हैं, और ओएस द्वारा किए गए संदर्भ स्विच शामिल हैं। ये सभी भाषाओं पर लागू होते हैं, यहां तक कि वे स्वचालित कचरा संग्रह का उपयोग नहीं करते हैं। सिद्धांत रूप में ये किसी भी कार्यक्रम के किसी भी दो संचालन के बीच देरी सम्मिलित कर सकते हैं, अधिकतम देरी की लंबाई की * गारंटी नहीं *। व्यावहारिक रूप से, वे शायद ही कभी एक समस्या है जिसे आपको "सामान्य" प्रोग्रामिंग में सौदा करना है। जीसी देरी एक ही हैं। – Ben