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