আমার সম্পূর্ণ সি ++ প্রকল্পের সংকলন করতে সময়টি আরও উন্নত করতে আমি বিভিন্ন পদ্ধতি পরীক্ষা করে দেখছি। বর্তমানে এটি ~ 5 মিনিট সময় নেয়। আমি ডিসটিসি, সিসিচি এবং অন্যান্যদের সাথে পরীক্ষা করেছিলাম। সম্প্রতি, আমি আবিষ্কার করেছি যে আমি যদি আমার পুরো প্রকল্পটি কোনও র্যাম-ড্রাইভে অনুলিপি করি এবং সেখান থেকে সংকলন করি তবে এটি সংকলনের সময়টিকে তার মূলের 30% পর্যন্ত নামিয়ে ফেলবে - মাত্র 1.5 মিনিটের মধ্যে।
স্পষ্টতই, র্যাম ড্রাইভ থেকে কাজ করা ব্যবহারিক নয়। সুতরাং, আমি ওএসকে সর্বদা নির্দিষ্ট ডিরেক্টরি ক্যাশে রাখতে বাধ্য করতে পারি এমন কোনও উপায় কি কেউ জানেন ? আমি এখনও ডিরেক্টরিটি স্বাভাবিকের মতো ডিস্কে আবার সিঙ্ক করতে চাই, তবে আমি সবসময় মেমরির মধ্যেও ডেটার একটি অনুলিপি চাই। এটা কি সম্ভব?
সম্পাদনা:
একটি সম্ভাব্য সমাধান হিসাবে, আমরা কেবল একটি ডিমন চালু করার কথা চিন্তা করেছি যা rsync
প্রতি 10 সেকেন্ড বা তারপরে র্যাম ড্রাইভের সাথে ডিস্ক ড্রাইভ সিঙ্ক করতে চালিত হয়। তারপরে আমরা র্যাম ড্রাইভ থেকে সংকলনটি চালাচ্ছি। rsync
ফাস্ট গন্গনে করা হয়, কিন্তু এই সত্যিই কাজ করবে? অবশ্যই ওএস আরও ভাল করতে পারে ....
time
সংকলন করে ফলাফলটি আমাদের সাথে ভাগ করে নিতে পারেন? এটি কিছু উত্থাপনকারী বিতর্ক দূর করবে। make clean && /usr/bin/time -v make
( time
কমান্ডে নির্মিত ব্যাশ ব্যবহার করবেন না )
time
বিল্ট ইন ব্যাশ ( help time
) এর আইএন man time
/ ও, প্রসঙ্গে, সুইচগুলি সম্পর্কিত জিএনইউ সময় ( ) এর চেয়ে অনেক কম বিশদ (কোনও ভার্বোজের বিকল্প নেই) রয়েছে ...