আমি নীচের দুটি লাইন আমার শীর্ষে যুক্ত করেছি init.el
:
(setq gc-cons-threshold (eval-when-compile (* 1024 1024 1024)))
(run-with-idle-timer 2 t (lambda () (garbage-collect)))
তার অর্থ যে বরাদ্দ মেমরির প্রতি 800 কিলোব্যাট আবর্জনা সংগ্রহের পরিবর্তে ইম্যাকস অলস অবস্থায়, যখন যখন বিরতি আমাকে বিরক্ত করে না তখন তা করে। (এটি 1 গিগাবাইট মেমরি বরাদ্দ করার পরেও সংগ্রহ করে, তবে আমি মনে করি না এটি ঘটবে)।
এটি আমার প্রারম্ভকালীন সময়টিকে প্রায় দুই তৃতীয়াংশ দ্বারা উন্নত করেছে। তত্ত্বগতভাবে, এটি সাধারণভাবে কর্মক্ষমতাও উন্নত করা উচিত। এই পদ্ধতির কোনও ডাউনসাইড রয়েছে?
(eval-when-compile (* 1024 1024 1024))
সাথে প্রতিস্থাপন করতে পারবেন most-positive-fixnum
(দয়া করে এটি করুন, আমি নিশ্চিত যে আপনার প্রশ্নে আসা প্রত্যেক ব্যক্তিই আপনার কোডটি তাদের কনফিগারেশনে অনুলিপি করেছেন) ।
gc-cons-threshold
যে কোনও সময় আসলে আঘাত করতে ইচ্ছুক তার চেয়ে উচ্চতর কোনও স্থাপন করা উচিত নয় , কারণ আপনার অবশ্যই ধরে নেওয়া উচিত যে আপনি সময়ে সময়ে সেই মানটিকে সত্যই আঘাত করবেন (সর্বোপরি, কে জানে যে কতটা আবর্জনা আদায় হতে পারে) কিছু অপ্রত্যাশিত-উত্সাহী অ নিষ্ক্রিয় কার্য দ্বারা)। আমি নিষ্ক্রিয় টাইমার দিয়ে জিসি ট্রিগার করার ক্ষেত্রে কোনও বিশেষ সমস্যা দেখতে পাচ্ছি না, তবে আমি মনে করি যে অ-নিষ্ক্রিয় গিসির জন্য প্রান্তিককরণটি এটি ওটিটি হিসাবে বেশি মনে হয় এবং আমার ধারণাটি সম্ভবত এটি "আমার থেকেও বেশি" হিসাবে নির্বাচিত হয়েছিল think 'আমি সর্বোচ্চ ব্যবহার করতে ইচ্ছুক "না হয়ে" দরকার পড়বে "।