এলটিও কী?
LTO জন্য সংক্ষিপ্ত বিবরণ লিংক সময় অপ্টিমাইজেশন। এটি এমন একটি অপারেশন যা সংকলকটি উত্স ফাইলগুলি সংযুক্ত করার মুহুর্তে অপ্টিমাইজেশানকে বিলম্বিত করে, আপনাকে সমস্ত ফাইলগুলি দেখতে দেয় যা একক ফাইল হিসাবে একক এক্সিকিউটেবল আপ করে তোলে এবং এইভাবে আরও কার্যকর উপায়ে অপ্টিমাইজেশন প্রয়োগ করে।
এর সুবিধাগুলি এবং ত্রুটিগুলি দেখতে LTO: এর মাপদণ্ড Phoronix
জিনিষ মনে রাখা
- এটি অস্থির, এটি কিছু প্যাকেজে সমস্যা সৃষ্টি করতে পারে।
- কিছু প্যাকেজ সংকলন করতে ব্যর্থ হবে (এটি কীভাবে পরে ঠিক করতে হবে) more
- লিঙ্কার ব্যবহার করার পরামর্শ দেওয়া হচ্ছে স্বর্ণ.
- আমেরিকা Siempre এর সর্বশেষতম সংস্করণ জিসিসি.
স্বর্ণ, উন্নত বৈশিষ্ট্যগুলি সমর্থন করার পাশাপাশি এটি ব্যবহারে আরও আকর্ষণীয় করে তোলে LTO, এটি এর চেয়ে দ্রুত জিএনইউ এলডি, বিশেষত যখন এটি বড় প্রোগ্রামে আসে, যেখানে এটি হয়ে উঠতে পারে 5 বার দ্রুত। এটি ব্যবহার করতে, চালান:
binutils-config --linker ld.gold
এলটিও ব্যবহার: প্রস্তাবিত পদ্ধতি
সক্রিয় করার পরিবর্তে LTO বিশ্বব্যাপী (যা সমস্যা সৃষ্টি করতে পারে) এটি আমাদের যে প্যাকেজগুলির মধ্যে এটি সক্রিয় করা ভাল। এইভাবে, কেবলমাত্র সেই প্যাকেজগুলিই আপনি উপকার করতে চান LTO তারা এই অপ্টিমাইজেশানটি সহ সংকলিত হয় বা যা প্রোগ্রামগুলি থেকে ধীরে ধীরে সংকলন বারগুলি এড়িয়ে চলে যেগুলি এতে উপকৃত হয় না। এটি নিম্নলিখিত উপায়ে অর্জন করা যেতে পারে:
/ Etc / portage / env ডিরেক্টরিতে, আমরা ফাইলটি তৈরি করি LTO.conf এবং আমরা নিম্নলিখিত লাইন যুক্ত:
CFLAGS="${CFLAGS} -flto=5" #pon en -flto los hilos de tu CPU + 1
CXXFLAGS="${CXXFLAGS} -flto=5" #igual que arriba
LDFLAGS="${LDFLAGS} -fuse-linker-plugin" #solo si usas Gold, es mejor.
সুতরাং, ব্যবহার LTO একটি প্যাকেজে, আমাদের কেবলমাত্র তার নাম (পুরো নাম, www-ক্লায়েন্ট / ফায়ারফক্স, ফায়ারফক্সের পরিবর্তে) ফাইলে রাখতে হবে package.env, একসাথে সঙ্গে LTO.conf আপনার অধিকার থেকে. নীচে একটি উদাহরণ দেওয়া হল:
app-emulation/wine LTO.conf
www-client/firefox LTO.conf
sys-devel/gcc LTO.conf
kde-base/kdelibs LTO.conf
এখন আমাদের কেবল প্যাকেজগুলি ব্যবহার করতে চাই তা সংকলন করতে হবে LTO.
বিশ্বব্যাপী এলটিও ব্যবহার করা (প্রস্তাবিত নয়)
পরিবর্তে আবেদন LTO প্যাকেজ দ্বারা প্যাকেজ, আমরা বিশ্বব্যাপী এটি প্রয়োগ করতে পারি (যা আমি ব্যবহার করি)। এটি প্রয়োগ করতে, অনুসরণের পদক্ষেপগুলি হ'ল:
আমরা ফাইলটি /etc/portage/make.conf সম্পাদনা করি এবং নিম্নলিখিতগুলি যুক্ত করি (সেগুলি ফাইলের একই লাইন LTO.conf):
CFLAGS="${CFLAGS} -flto=5" #pon en -flto los hilos de tu CPU + 1
CXXFLAGS="${CXXFLAGS} -flto=5" #igual que arriba
LDFLAGS="${LDFLAGS} -fuse-linker-plugin" #solo si usas Gold, es mejor.
পরিবর্তে, আমরা ফাইল /etc/portage/env/no-LTO.conf তৈরি করি এবং নিম্নলিখিত লাইনগুলি যুক্ত করি:
CFLAGS="${CFLAGS} -fno-lto -fno-use-linker-plugin"
CXXFLAGS="${CXXFLAGS} -fno-lto -fno-use-linker-plugin"
LDFLAGS="${LDFLAGS} -fno-lto -fno-use-linker-plugin"
এবং ফাইলটিতে package.env যাদের সংকলন ব্যর্থ হয় সেই প্যাকেজগুলি আমরা রাখব LTO। তিনি এখানে আমার package.env (মনে রাখবেন যে আমি ব্যবহার করি) nolto.conf পরিবর্তে non-LTO.conf).
আমাদের অবশ্যই যুক্ত করা উচিত LTO এর ভেরিয়েবল ব্যবহার করুন Make.conf, এটি প্রয়োজনীয় কারণ এর বিকাশকারীরা জেন্টু তারা (ধীরে ধীরে) কিছু প্যাকেজগুলিতে এই অপ্টিমাইজেশনের ব্যবহারের জন্য optionচ্ছিক প্যাচগুলি যুক্ত করছে।
এটি হয়ে গেলে, সমস্ত সিস্টেম প্যাকেজগুলি পুনরায় সংকলন করতে এগিয়ে চলুন:
emerge -e @world @system --keep-going &> errores
–কিপ-গোপন ব্যবহার করে, আমরা বলছি বহনের ব্যয় ত্রুটি উপেক্ষা করার জন্য, যখন &> সমস্ত বাগের আউটপুটটিকে ত্রুটি বলে একটি ফাইলে পুনর্নির্দেশ করুন, কোন প্যাকেজগুলি সংকলন করতে ব্যর্থ হয়েছে এবং তালিকার তালিকায় যুক্ত করতে এই ফাইলটি ব্যবহার করুন package.env.
tail -f /var/log/emerge.log
এবং এগুলিই, আমি আশা করি আমি কোনও সন্দেহ ছাড়িনি, যদি তা আমি উত্সাহিত করব এবং এ সম্পর্কে একটি নিবন্ধ লিখব ওপেনএমপি এবং / অথবা কৃষ্ণসীস নামক ধাতু.
জেন্টু, মেহ ...
আসুন গুরুত্বপূর্ণ বিষয়টিতে যাওয়া যাক: গ্রাফাইট!
বোকা এবং সংবেদনশীল গ্রাফাইট এক্সডি, আপনার এক্সডি সিস্টেমটি ফাটিয়ে দেয় এমন সাধারণ বিষয়টি, আমি মনে করি যে আমি শেষ বার এটি ব্যবহার করেছি, এটি "নোটিফাই-সিএনডি <50" করার জন্য 3 বার পুনরাবৃত্তি করেছিল যাতে পুনরাবৃত্তিতে 50 নম্বর, পরিবেশ জাহান্নামে ফেটে যাবে হাহাহাহাহাহা, হ্যাঁ, আমি পুনরায় farts এক্সডি যাচ্ছিলাম
আমি ইতিমধ্যে বলেছি যে আমাকে এখনও উত্সাহ দেওয়া হয়েছিল এবং গ্রাফাইটের একটি তৈরি করা হয়েছিল। তবে যাইহোক, গ্রাফাইট (এবং অন্য কোনও অপ্টিমাইজেশন) এলটিওর সাথে সবচেয়ে ভাল কাজ করে। এছাড়াও, এলটিওর মতো নয়, গ্রাফাইট এবং ওপেনএমপি-র একটি সমস্যা রয়েছে। সমস্ত প্রোগ্রাম এটি থেকে উপকৃত হয় না, এবং যেগুলি উপকৃত হয় না তাদের মধ্যে কার্যকারিতা হ্রাস পায়, তাই এই ক্ষেত্রে এটি কেবলমাত্র কয়েকটি প্যাকেজের জন্য ব্যবহার করা ভাল।