কোনও আবর্জনা-সংগৃহীত প্রোগ্রামিং ভাষায় নির্দিষ্ট করা খারাপ পরিস্থিতি ডেটা স্ট্রাকচারের চলমান সময় বিশ্লেষণ করার সময় কী জিসির ব্যয় উপেক্ষা করা যেতে পারে?


22

আমি কেবল বুঝতে পেরেছি যে আমি আমার প্রশ্নের উত্তরটি "হ্যাঁ" বলে ধরে নিচ্ছি তবে আমার কাছে কোনও সঠিক কারণ নেই। আমি কল্পনা করি যে সম্ভবত এমন কোনও আবর্জনা সংগ্রহকারী রয়েছে যা কেবলমাত্র সবচেয়ে খারাপ ক্ষেত্রে মন্দার পরিচয় দেয়। আমি উল্লেখ করতে পারি একটি নির্দিষ্ট রেফারেন্স আছে? আমার ক্ষেত্রে আমি খাঁটি-কার্যকরী ডেটা স্ট্রাকচারে কাজ করছি এবং আমি যদি স্ট্যান্ডার্ড এমএল ব্যবহার করি তবে যদি এই বিবরণগুলি বিবেচনায় আসে।O(1)

এবং সম্ভবত এই প্রশ্নটি আরও প্রাসঙ্গিক হবে যখন জাভাতে বর্ণিত ডেটা স্ট্রাকচারগুলিতে প্রয়োগ করা হয়? সম্ভবত জাভা ব্যবহার করে অ্যালগরিদম / ডেটা স্ট্রাকচার পাঠ্যপুস্তকে কিছু প্রাসঙ্গিক আলোচনা আছে? (আমি জানি সেডজউইকের জাভা সংস্করণ রয়েছে, তবে আমার কেবল সি সংস্করণে অ্যাক্সেস রয়েছে))

উত্তর:


17

হ্যাঁ, গিসি ধ্রুবক সময় অনুসৃত। ধরা যাক আপনার কাছে একটি অ্যালগরিদম রয়েছে যা টাইম জন্য পিকের ভার্চুয়াল সাইজের সেট কাজ করে । এখন, নোট করুন যে আপনি প্রোগ্রামটি সঞ্চালনের সময় সর্বাধিক O ( n ) শব্দ বরাদ্দ করতে পারেন , এবং একটি অনুলিপি আবর্জনা সংগ্রহকারী চালনার সময় ব্যয় হ'ল ( কে ) (অর্থাত্, কোনও গিসির ব্যয় মোট আনুপাতিক) লাইভ ডেটার পরিমাণ)। সুতরাং আপনি যদি সর্বাধিক ( এন / কে ) বারে কম্পিউটার চালনা করেন তবে মোট রানটাইম ব্যয়টি ( এন ) দ্বারা সীমাবদ্ধnkO(n)O(k)O(n/k)O(n), যার অর্থ হ'ল জিসির আনুপাতিক ব্যয় ধ্রুবক। তাই আপনি যদি প্রতিটি semispace হচ্ছে আকার সঙ্গে একটি চেনি-শৈলী সংগ্রাহক, have , তাহলে এটি সহজ দেখতে একটি সম্পূর্ণ সংগ্রহ প্রত্যেক একাধিকবার প্রার্থনা নাও করা যেতে পারে এন / , পদক্ষেপ বণ্টন যেহেতু শব্দ লাগে হে ( ) সময়, এবং কার্যকারী সেটটি কখনও কখনও আকারের কে ছাড়িয়ে যায় না , যা আপনাকে পছন্দসই বাউন্ড দেয়। এটি জিসি ইস্যুগুলিকে উপেক্ষা করে ন্যায়সঙ্গত করে।2kএন/হে()

যাইহোক, একটি ক্ষেত্রে যেখানে সিসির উপস্থিতি বা অনুপস্থিতি অজ্ঞাত নয়, তা হ'ল লক-ফ্রি ডেটা স্ট্রাকচার লেখার সময়। অনেকগুলি আধুনিক লক-মুক্ত ডেটা স্ট্রাকচার ইচ্ছাকৃতভাবে মেমরি ফাঁস করে এবং নির্ভুলতার জন্য গিসির উপর নির্ভর করে। এটি কারণ একটি উচ্চ স্তরে, তারা যেভাবে কাজ করে তা হ'ল কিছু ডেটা অনুলিপি করা, এতে পরিবর্তন করা এবং এটি সিএএস নির্দেশনা দিয়ে একে atomically আপডেট করার চেষ্টা করা এবং সিএএস সফল না হওয়া পর্যন্ত এটিকে একটি লুপে চালানো run এই অ্যালগরিদমগুলিতে ডিটারমিনিস্টিক ডিওলোকেশন যুক্ত করা তাদের আরও জটিল করে তোলে এবং তাই লোকেরা প্রায়শই বিরক্ত হন না (উদাহরণস্বরূপ যেহেতু তারা প্রায়শই জাভা-জাতীয় পরিবেশে লক্ষ্যযুক্ত)।

সম্পাদনা করুন: আপনি যদি অ-বিহীন সীমানা চান তবে চেনি সংগ্রহকারী এটি করবেন না - প্রতিবার যখন এটি শুরু হয় তখন এটি পুরো লাইভ সেটটিকে স্ক্যান করে। এর জন্য গুগলের মূল শব্দটি হ'ল "রিয়েল-টাইম আবর্জনা সংগ্রহ", এবং জিক্সট্রা এট আল। এবং স্টিল প্রথম রিয়েল টাইম মার্ক-অ্যান্ড-সুইপ সংগ্রহকারীদের দিয়েছে এবং বাকের প্রথম রিয়েল টাইমকে কমপ্যাক্টিং জিসি দিয়েছে।

@article {dijkstra1978fly,
  শিরোনাম = {{অন ফ্লাই আবর্জনা সংগ্রহ: সহযোগিতার একটি মহড়া}},
  লেখক = {ডিজকস্ট্রা, ইডাব্লু এবং ল্যাম্পোর্ট, এল। এবং মার্টিন, এজে এবং শোল্টেন, সিএস এবং স্টেফেন্স, ইএফএম},
  জার্নাল = AC ACM এর যোগাযোগ},
  ভলিউম = {21},
  সংখ্যা = {11},
  পৃষ্ঠাগুলি = {966--975},
  ISSN = {0001-0782},
  বছর = {1978},
  প্রকাশক = {এসিএম}
}

@article {steele1975multiprocessing,
  শিরোনাম = {garbage ময়লা প্রসেসিং কমপ্যাটিফাইজিং জঞ্জাল সংগ্রহ}}
  লেখক = {স্টিল জুনিয়র, জিএল},
  জার্নাল = AC ACM এর যোগাযোগ},
  ভলিউম = {18},
  সংখ্যা = {9},
  পৃষ্ঠাগুলি = {495--508},
  ISSN = {0001-0782},
  বছর = {1975},
  প্রকাশক = {এসিএম}
}

@article {baker1978list,
  শিরোনাম = {a সিরিয়াল কম্পিউটারে রিয়েল টাইমে প্রসেসিংয়ের তালিকা}},
  লেখক = aker বেকার জুনিয়র, এইচজি},
  জার্নাল = AC ACM এর যোগাযোগ},
  ভলিউম = {21},
  সংখ্যা = {4},
  পৃষ্ঠাগুলি = {280--294},
  ISSN = {0001-0782},
  বছর = {1978},
  প্রকাশক = {এসিএম}
}

একটিএকটি

1
"হ্যাঁ, গিসি ধ্রুবক সময় অনুসৃত হয়"। এটি সাধারণভাবে সত্য নয়। আপনি তর্ক করতে পারেন যে জিসি হতে পারে তবে এগুলি অগত্যা নয় এবং প্রকৃতগুলি অবশ্যই তা নয়। উদাহরণস্বরূপ, List.mapওসিএএমএল এ নিষ্পাপ প্রকৃতপক্ষে চতুর্ভুজ জটিল কারণ স্ট্যাকের গভীরতা রৈখিক এবং প্রতিবার নার্সারী খালি করার সময় স্ট্যাকটি বিপর্যস্ত হয়। পয়েন্টারগুলির বৃহত অ্যারেগুলির মুখোমুখি বড় টুকরাগুলির ক্ষেত্রে একই।
জন হ্যারোপ

12

হে(এন)

হে(1)

নিশ্চিত আবর্জনা সংগ্রহের উল্লেখ:

  • রিচার্ড জোন্স এবং রাফায়েল লিনের আবর্জনা সংগ্রহ

বেন জর্ন বিভিন্ন আবর্জনা সংগ্রহের অ্যালগরিদমগুলির আসল ব্যয় পরিমাপ করার জন্য কিছু কাজ করেছিলেন , যদিও নিম্নলিখিত সাম্প্রতিক কাগজটি আরও ব্যাপক তুলনা উপস্থাপন করেছে:

আরও দেখুন:

  • আবর্জনা সংগ্রহের একটি সমন্বিত তত্ত্ব , বেকন, চেং এবং রাজন, অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং, সিস্টেমস, ল্যাঙ্গুয়েজ এবং অ্যাপ্লিকেশন সম্পর্কিত এসিএম সম্মেলন, ভ্যাঙ্কুভার, বিসি, কানাডা, পিপি 50-68, 2004।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.