( Go 1.8 - Q1 2017 এর জন্য, নীচে দেখুন )
পরবর্তী যান 1.5 সমবর্তী গার্বেজ কালেকটর "গতি" করতে সক্ষম হচ্ছে জড়িত জিসি বলেন।
এখানে এই কাগজে উপস্থাপিত একটি প্রস্তাব রয়েছে যা এটি 1.5 এর জন্য তৈরি করতে পারে, তবে গো-তে জিসি বুঝতে সহায়তা করে।
আপনি 1.5 এর আগে রাজ্যটি দেখতে পারেন (ওয়ার্ল্ড স্টপ: এসটিডাব্লু)
Go 1.5 এর আগে, গো সমান্তরাল স্টপ-দ্য ওয়ার্ল্ড (এসটিডাব্লু) সংগ্রাহক ব্যবহার করেছে।
এসটিডাব্লু সংগ্রহে অনেকগুলি ডাউনসাইড রয়েছে, তবে এটি কমপক্ষে অনুমানযোগ্য এবং নিয়ন্ত্রনযোগ্য গাদা বৃদ্ধির আচরণ করে।
( গোফারকন 2015 এর উপস্থাপনা থেকে প্রাপ্ত ছবি " গো জিসি: 1.5 এর গোড়ার দিকে সমস্যা সমাধান করা ")
এসটিডাব্লু সংগ্রাহকের জন্য একমাত্র সুরের নোব ছিল "জিওজিসি", সংগ্রহের মধ্যে আপেক্ষিক স্তরের বৃদ্ধি। ডিফল্ট সেটিংস, 100%, পূর্ববর্তী সংগ্রহের তুলনায় লাইভ হ্যাপের আকারের তুলনায় গাদা আকারটি দ্বিগুণ করে প্রতিবার জঞ্জাল সংগ্রহকে ট্রিগার করে:
এসটিডাব্লু সংগ্রহে জিসি সময়।
Go 1.5 সমবর্তী সংগ্রহকারীর সাথে পরিচয় করিয়ে দেয় ।
এটি এসটিডাব্লু সংগ্রহের তুলনায় অনেক সুবিধা রয়েছে তবে এটি নিয়ন্ত্রণের জন্য আরও বেশি শক্ত বিকাশ করছে কারণ আবর্জনা সংগ্রাহক চলমান থাকাকালীন অ্যাপ্লিকেশনটি মেমরি বরাদ্দ করতে পারে ।
( গোফারকন 2015 এর উপস্থাপনা থেকে প্রাপ্ত ছবি " গো জিসি: 1.5 এর গোড়ার দিকে সমস্যা সমাধান করা ")
একই গাদা বৃদ্ধির সীমা অর্জনের জন্য রানটাইমটি অবশ্যই আবর্জনা সংগ্রহের আগে শুরু করতে হবে, তবে এর আগে কতটা পরিবর্তনশীল তার উপর নির্ভর করে, যার অনেকেরই পূর্বাভাস দেওয়া যায় না।
- সংগ্রাহককে খুব তাড়াতাড়ি শুরু করুন, এবং অ্যাপ্লিকেশনটি সিপিইউ সংস্থানগুলি নষ্ট করে, অনেক বেশি আবর্জনা সংগ্রহ করবে।
- সংগ্রাহকটি খুব দেরিতে শুরু করুন এবং অ্যাপ্লিকেশনটি পছন্দসই সর্বাধিক গাদা বৃদ্ধি ছাড়িয়ে যাবে।
সম্মতি ত্যাগ না করে সঠিক ভারসাম্য অর্জনের জন্য আবর্জনা সংগ্রহকারীকে সাবধানে প্যাক করা দরকার।
জিসি প্যাসিংয়ের লক্ষ্য দুটি মাত্রা বজায় রেখে অনুকূল করা: গাদা বৃদ্ধি এবং আবর্জনা সংগ্রহকারী দ্বারা ব্যবহৃত সিপিইউ।
জিসি প্যাসিংয়ের নকশায় চারটি উপাদান রয়েছে:
- কোনও জিসি চক্রের স্ক্যানিং কাজের পরিমাণের জন্য একটি অনুমানকারী প্রয়োজন,
- উত্তোলনকারীদের জন্য স্তূপ বরাদ্দের সময় স্তরের লক্ষ্যে পৌঁছানোর সময় অনুসারে স্ক্যানিং কাজের আনুমানিক পরিমাণ সঞ্চালনের একটি প্রক্রিয়া,
- পটভূমি স্ক্যান করার জন্য একটি শিডিয়ুলার যখন মিউটর সিপিইউ বাজেটের উপকারে সহায়তা করে এবং
- জিসি ট্রিগারটির জন্য একটি আনুপাতিক নিয়ামক।
নকশা সময়ের দুটি ভিন্ন মতামতকে ভারসাম্য দেয় : সিপিইউ সময় এবং হিপ সময় ।
- সিপিইউ সময় স্ট্যান্ডার্ড ওয়াল ক্লক টাইমের মতো তবে
GOMAXPROCS
সময়ের চেয়ে দ্রুত গতিতে চলে ।
অর্থাৎ, যদি GOMAXPROCS
8 হয়, তবে আটটি সিপিইউ সেকেন্ড প্রতিটি প্রাচীর দ্বিতীয় পাস করে এবং জিসি প্রতিটি প্রাচীরের দ্বিতীয় সেকেন্ডে সিপিইউ সময় পায় of
সিপিইউ শিডিয়ুলার সিপিইউ সময় পরিচালনা করে।
- হিপ সময় উত্তরণকে বাইটে পরিমাপ করা হয় এবং মিউটেটরগুলি বরাদ্দ করার সাথে সাথে এগিয়ে যায়।
গাদা সময় এবং প্রাচীর সময়ের মধ্যে সম্পর্ক বরাদ্দ হারের উপর নির্ভর করে এবং ক্রমাগত পরিবর্তন হতে পারে।
মিউটেটর হিপ সময়টি পরিচালনা করতে সহায়তা করে, নিশ্চিত করে যে গাদাটি লক্ষ্য আকারে পৌঁছানোর সময় অনুসারে স্ক্যানের কাজ শেষ হয়ে গেছে।
অবশেষে, ট্রিগার নিয়ামক একটি প্রতিক্রিয়া লুপ তৈরি করে যা সময়ের এই দুটি মতামতকে এক সাথে আবদ্ধ করে, হিপ সময় এবং সিপিইউ উভয় লক্ষ্যকেই অনুকূল করে।