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