हां, जीसी निरंतर समय में परिशोधन है। मान लीजिए कि आपके पास एक एल्गोरिथ्म है जो आकार के k के एक चरम काम करने वाले सेट के साथ समय लिए चलता है । अब, ध्यान दें कि आप कार्यक्रम के निष्पादन के दौरान अधिकांश ओ ( n ) शब्दों में आवंटित कर सकते हैं , और यह है कि एक कॉपी कचरा कलेक्टर को चलाने का समय लागत हे ( के ) है (यानी, एक जीसी की लागत कुल के लिए आनुपातिक है लाइव डेटा की मात्रा)। इसलिए यदि आप ज्यादातर O ( n / k ) समय पर gc चलाते हैं , तो कुल रनटाइम लागत O ( n ) से बंधी होती हैnकश्मीरओ ( एन )ओ ( के )ओ ( एन / के )ओ ( एन ), जिसका अर्थ है कि जीसी की परिशोधन लागत स्थिर है। इसलिए यदि आपके पास एक चेनी-शैली का कलेक्टर है, तो प्रत्येक अर्धकुंभ का आकार , तो यह देखना आसान है कि एक पूर्ण संग्रह को हर n / k चरणों से अधिक एक बार लागू नहीं किया जा सकता है , क्योंकि k शब्दों को आवंटित करना O ( k ) लेता है। समय, और कार्य सेट कभी भी आकार k से अधिक नहीं होता है, जो आपको वह सीमा देता है जो आप चाहते हैं। यह जीसी मुद्दों की अनदेखी को सही ठहराता है।2 केएन / केकश्मीरओ ( के )कश्मीर
हालांकि, एक मामला जहां जीसी की मौजूदगी या अनुपस्थिति को अनदेखा नहीं किया जाता है, जब लॉक-फ्री डेटा संरचनाएं लिखते हैं। कई आधुनिक लॉक-फ्री डेटा संरचनाएं जानबूझकर मेमोरी लीक करती हैं और शुद्धता के लिए जीसी पर भरोसा करती हैं। ऐसा इसलिए है क्योंकि एक उच्च स्तर पर, जिस तरह से वे काम करते हैं वह कुछ डेटा की प्रतिलिपि बनाने, उसमें बदलाव करने और कैस निर्देश के साथ इसे परमाणु अद्यतन करने का प्रयास करता है, और कैस के सफल होने तक इसे लूप में चलाता है। इन एल्गोरिदम के लिए नियतात्मक व्यवहार को जोड़ना उन्हें और अधिक जटिल बनाता है, और इसलिए लोग अक्सर परेशान नहीं करते हैं (जासूसी। क्योंकि वे अक्सर जावा जैसे वातावरण में लक्षित होते हैं)।
संपादित करें: यदि आप गैर-परिशोधित सीमाएं चाहते हैं, तो चेनी कलेक्टर ऐसा नहीं करेगा - यह पूरे लाइव सेट को स्कैन करता है जब इसे लागू किया जाता है। Google के लिए कीवर्ड "वास्तविक समय कचरा संग्रह" और Djikstra et al है। और स्टील ने पहली बार रीयल-टाइम मार्क-एंड-स्वीप कलेक्टर दिए और बेकर ने पहला वास्तविक समय कॉम्पैक्टिंग जीसी दिया।
@article {dijkstra1978fly,
शीर्षक = {{ऑन-द-फ्लाई कचरा संग्रह: सहयोग में एक अभ्यास}},
लेखक = {दिक्जस्त्र, ईडब्ल्यू और लामपोर्ट, एल। और मार्टिन, ए जे और शोल्टेन, सीएस और स्टीफंस, ईएफएम},
पत्रिका = {एसीएम के संचार},
मात्रा = {21},
संख्या = {11},
पृष्ठों = {} 966--975,
ISSN = {0001-0782},
साल = {1978},
प्रकाशक = {} एसीएम
}
@article {steele1975multiprocessing,
शीर्षक = {{मल्टीप्रोसेसिंग कॉम्पैक्टिंग कचरा संग्रह}},
लेखक = {स्टील जूनियर, जीएल},
पत्रिका = {एसीएम के संचार},
मात्रा = {18},
संख्या = {9},
पृष्ठों = {} 495--508,
ISSN = {0001-0782},
साल = {1975},
प्रकाशक = {} एसीएम
}
@article {baker1978list,
शीर्षक = {{सीरियल कंप्यूटर पर वास्तविक समय में सूची प्रसंस्करण}},
लेखक = {बेकर जूनियर, एचजी},
पत्रिका = {एसीएम के संचार},
मात्रा = {21},
संख्या = {4},
पृष्ठों = {} 280--294,
ISSN = {0001-0782},
साल = {1978},
प्रकाशक = {} एसीएम
}