টিএল; ডিআর আমার কাছে প্রচুর পরিমাণে প্যাকেজ রয়েছে যা এটি আমার শুরুর সময়কে ব্যথা করে। যদি আপনি বিশ্বাস না করেন যে এটি হতে পারে তবে পড়ুন।
আমার ইম্যাকস স্টার্টআপের সময়টি বেশ কম। আমি ব্যবহার করি না use-package, আমি কেবলমাত্র প্রচুর হুকস সেট করেছি autoloadযাতে প্রায় সমস্ত কোড পিছিয়ে যায়। বাস্তবে পুরো জিনিসটি সাধারণত একটি অর্ধেক সেকেন্ডের মধ্যে লোড হয়, যদিও এটি দেখতে পাগলের মতো জটলা দেখায়।
তবে সময়ের সাথে সাথে আমি লক্ষ্য করেছি যে আমার সূচনার সময়টি অবিচ্ছিন্নভাবে ধীরে ধীরে ধীরে ধীরে হয়ে যায় gets এটি শেষ পর্যন্ত এমন পর্যায়ে পৌঁছেছে যেখানে প্রারম্ভকালীন সময়টি ≥ 1 সেকেন্ড। আমার অবশেষে যথেষ্ট ছিল এবং আমি সমস্যার মূলের মধ্যে খনন করেছি। আমি শেষ পর্যন্ত আমার পুরো ~/.emacsফাইলটি মন্তব্য করেছিলাম এবং শুরুর সময়টি এখনও 1 ডলার হিসাবে খুঁজে পেতাম । প্রকৃতপক্ষে, এটি কেবলমাত্র ~ 0.2সেকেন্ডের মধ্যে শেভ করেছিল, কখনও কখনও এমনকি এমনকি কমও। তারপরে আমি চেষ্টা করে emacs -qদেখেছি যে শুরুর সময়টি 0.1সেকেন্ড।
এলিসপ ম্যানুয়ালটির এই বিভাগটি পরীক্ষা করে , আমি জানতে পেরেছিলাম কেন emacs -qস্টার্টআপের সময় এতটা কমিয়ে দেওয়া হচ্ছে। দৃশ্যত emacs -qইমাক্স শুরুতে তিনটি জিনিস করা থেকে বিরত থাকে:
- আপনার init ফাইলটি লোড হচ্ছে
- আপনার
default.elফাইল লোড করা হচ্ছে - কলিং
package-initialize
আমরা আমার থিম ফাইলটি ইতিমধ্যে বাতিল করে দিয়েছি, যেহেতু আমার সম্পূর্ণ মন্তব্য করা ~/.emacsপ্রায়শই কিছুই করে না। আমি কোনও default.elফাইল ব্যবহার করি না , তাই এটিও বাতিল হয়ে যায়। যা package-initializeপারফরম্যান্স হিটের অপরাধী হিসাবে ছেড়ে যায়।
এত package-initializeস্টার্টআপ সময় নেওয়া হবে কেন ? এটাই আমার প্রথম প্রশ্ন ছিল। আমি কি সবকিছু অটোলয়েড করছি না? হ্যাঁ ঠিক. তবে তা হ'ল সমস্যা।
আমি এই পোস্টটি পেয়েছি যা ব্যাখ্যা করে যে "অ্যাক্টিভেটিং" প্যাকেজগুলিতে অটোল্যাড ফাইলগুলি পড়া এবং লোড পাথ সেট করা থাকে। আপনার কাছে অনেকগুলি প্যাকেজ থাকলে এটি স্পষ্টতই I / O জরিমানা লাভ করে কারণ আপনার কাছে পড়ার মতো অনেক অটোলোড ফাইল এবং সেট করার জন্য অনেকগুলি পথ রয়েছে। দুর্ভাগ্যক্রমে, এটি ছাড়া, অটোলোড পরিচালনার কাজটি ব্যবহারকারীর হাতে পড়ে। অন্য কথায়, package.elঅটোল্যাড ফাইল এবং পাথগুলির জন্য ফাইল সিস্টেমকে হামাগুড়ি না দিয়ে আমাকে নিজেরাই পরিচালনা করতে হবে যা একটি ক্লান্তিকর এবং ত্রুটি-প্রবণ প্রক্রিয়া হতে পারে।
আমি সেই রাস্তায় নামতে পছন্দ করব না আমার কাছে বর্তমানে 116 টি প্যাকেজ রয়েছে, যার মধ্যে 107 টি রয়েছে ELPA থেকে এবং 25 টি নির্ভরতা। আমি নিশ্চিত যে এই পুরো সংখ্যাটি আমার অভিনয়কে এত খারাপভাবে হ্রাস করছে। তবে আমি বিভ্রান্তিতে পড়েছি কারণ আমি আমার কোনও প্যাকেজ মুছে ফেলতে চাই না।
আমার বজ্র শুরু হওয়ার সময় ফিরে পাওয়ার কি এমন কোনও প্রতিকার আছে?
হালনাগাদ:
আমরা শুরু করেছি একটি নতুন থ্রেড উপর emacs-develসম্পর্কে মেইলিং লিস্ট কিছু প্যাচ দ্বারা স্টিফান Monnier (এই প্যাচ একটি বিবরণ এখানে ) এই সমস্যা সমাধানের জন্য। যে কেউ তার প্যাচগুলি পরীক্ষা করে প্রতিক্রিয়া জানাতে স্বাগত।
আরেকটি আপডেট:
দেখে মনে হচ্ছে স্টিফান মননিয়ার হয় আর এই বিষয়ে আগ্রহী নয় বা তিনি আমার বার্তা পাচ্ছেন না। আমি প্রাক্তনকে বিশ্বাস করতে আগ্রহী, যা ঠিক আছে, যদিও আমি যদি তার থেকে কিছুটা প্রতিক্রিয়া দেখি তবে তার প্রশংসা করব। যাইহোক, তিনি এখন পর্যন্ত এই সমস্যাটির জন্য যে কোডটি তৈরি করেছেন তা বেশ কার্যকরভাবে কাজ করে। তার সবচেয়ে সাম্প্রতিক প্যাচগুলি এখানে (ইমাস 25.3 এর জন্য) এবং এখানে (ইমাক্স মাস্টার শাখার জন্য) পাওয়া যাবে।আমি তার প্যাচগুলির জন্য ধন্যবাদ শুরু করার সময় আমার বেশ ভাল উন্নতি দেখেছি এবং আমি এমন একটি পর্যায়ে আছি যেখানে আমি আমার প্রারম্ভকালীন সময়ের সাথে স্বাচ্ছন্দ্য বোধ করি যে এটি আমার কাস্টমাইজেশনের বৈশিষ্ট্যগুলি কেটে না নিয়ে যতটা সম্ভব অনুকূল করা যায়। আমি আশা করছিলাম যে এই প্যাচগুলি এটিকে কোনও মুহূর্তে ইম্যাক্স মূললাইনে পরিণত করবে, তবে আমি অনুমান করি যে স্টেফানের পরিবর্তে আমাকে (বা অন্য কেউ) এখন টর্চটি নিতে হবে। কপিরাইট অ্যাসাইনমেন্ট এবং লাইসেন্সিং সম্পর্কে মেলিং তালিকায় আমাদের কিছুটা স্পার ছিল। আমি প্রথমে এটি করে অস্বস্তি করেছিলাম, কিন্তু রিচার্ড স্টলম্যান এবং অন্যদের কিছু মন্তব্যের কারণে, কপিরাইটের অ্যাসাইনমেন্টটি আমি প্রাথমিকভাবে ভেবেছিলাম তেমন সীমাবদ্ধ নাও হতে পারে। তদুপরি, কপিরাইট কার্যভারের বিকল্প হিসাবে আমার পক্ষে আমার কাজগুলি সর্বজনীন ডোমেনে প্রতিশ্রুতিবদ্ধ করা সম্ভব হতে পারে।
যাইহোক, এখন পর্যন্ত প্যাচগুলির জন্য স্টিফানকে ধন্যবাদ! আমি আশা করি আপনি এই পরিবর্তনগুলি বিকাশ অব্যাহত রাখবেন, তবে তা না হলে তা ঠিক আছে এবং আমি কোনও পর্যায়ে এটিকে বিকাশ অব্যাহত রাখতে পারি। এই সমস্যাটি সমাধানের জন্য যারা অন্তর্দৃষ্টি এবং অবদানের প্রস্তাব দিয়েছিলেন তাদের প্রত্যেককেও আমি ধন্যবাদ জানাই।
তবুও আরেকটি আপডেট:
বাহ, দেখে মনে হচ্ছে এই বৈশিষ্ট্যটি অবশেষে অবতরণ করেছে এবং এটি ইম্যাক্স 27 এ হবে Ste স্টেফান মননিয়ারকে ধন্যবাদ!
use-packageএই জন্য যেতে উপায়।