জিসিসির প্রথম দিনগুলিতে (২.৮ ইত্যাদি) এবং এএসসিএসের সময়ে, এবং রেডহাট ২.৯6 -ও ৩ কখনও কখনও বেশ বাগি ছিল। তবে এটি এক দশক আগের, এবং -O3 অন্যান্য স্তরের অপ্টিমাইজেশনের চেয়ে খুব বেশি আলাদা নয় (বগিটে)।
তবে এটি নিয়মগুলির উপর আরও কঠোরভাবে নির্ভর করার কারণে এবং বিশেষত কোণার কেসগুলি ভাষা (গুলি) এর ক্ষেত্রে লোকেরা অপরিজ্ঞাত আচরণের উপর নির্ভর করে এমন কেসগুলি প্রকাশ করে।
একটি ব্যক্তিগত নোট হিসাবে, আমি এখন -O3 দিয়ে বহু বছর ধরে আর্থিক খাতে প্রোডাকশন সফটওয়্যারটি চালাচ্ছি এবং এখনও আমি এমন কোনও বাগের মুখোমুখি হইনি যা আমি -O2 ব্যবহার করতে পারতাম না তবে সেখানে থাকত না।
জনপ্রিয় চাহিদা অনুসারে, এখানে একটি সংযোজন:
-O3 এবং বিশেষত অতিরিক্ত ফ্ল্যাগগুলি যেমন-ফুনরোল-লুপগুলি (-O3 দ্বারা সক্ষম নয়) কখনও কখনও আরও মেশিন কোড উত্পন্ন হতে পারে। নির্দিষ্ট পরিস্থিতিতে (যেমন, ছোট্ট L1 নির্দেশাবলীর ক্যাশেযুক্ত সিপিইউতে) এটি সমস্ত কোডের কারণে মন্দা সৃষ্টি করতে পারে যেমন কিছু অভ্যন্তরীণ লুপ এখন আর এল 1-তে ফিট না করে। সাধারণত জিসিসি এত বেশি কোড তৈরি না করার জন্য বেশ চেষ্টা করে তবে যেহেতু এটি সাধারণত জেনেরিক কেসটিকে অনুকূল করে তোলে তাই এটি ঘটতে পারে। বিশেষত এটির প্রবণ বিকল্পগুলি (লুপ আন্রোলিংয়ের মতো) সাধারণত -O3-তে অন্তর্ভুক্ত থাকে না এবং সেই অনুসারে ম্যানপেজে চিহ্নিত করা হয়। যেমনটি দ্রুত কোড উত্পন্ন করার জন্য -O3 ব্যবহার করা ভাল ধারণা, এবং উপযুক্ত হলে কেবল -O2 বা -Os (যা কোড আকারের জন্য অনুকূলিতকরণের চেষ্টা করে) (যেমন যখন কোনও প্রোফাইলার এল 1 আই মিস করে তবে) indicates
আপনি যদি চূড়ান্তভাবে অপ্টিমাইজেশন নিতে চান, আপনি কিছু অপটিমাইজেশনের সাথে সম্পর্কিত ব্যয়গুলি --প্যারামের মাধ্যমে জিসিসিতে টুইট করতে পারেন। অতিরিক্ত নোট করুন যে সিসিএসির এখন কেবলমাত্র এই ফাংশনগুলির জন্য অপ্টিমাইজেশন সেটিংস নিয়ন্ত্রণ করে এমন ফাংশনগুলিতে বৈশিষ্ট্যগুলি রাখার ক্ষমতা রয়েছে, সুতরাং যখন আপনি দেখতে পান যে কোনও ফাংশনে আপনার -O3 এর সমস্যা রয়েছে (বা কেবলমাত্র সেই ফাংশনের জন্য বিশেষ পতাকাগুলি চেষ্টা করতে চান), আপনাকে সম্পূর্ণ ফাইল বা এমনকি পুরো প্রকল্প O2 দিয়ে সংকলন করতে হবে না।
ওটো মনে হচ্ছে -অফেষ্ট ব্যবহার করার সময় অবশ্যই যত্ন নেওয়া উচিত, যা বলে:
-অলফিট সমস্ত -O3 অনুকূলিতকরণ সক্ষম করে। এটি এমন সমস্ত অপ্টিমাইজেশন সক্ষম করে যা সমস্ত স্ট্যান্ডার্ড অনুগত প্রোগ্রামগুলির জন্য বৈধ নয়।
যা আমাকে এই উপসংহারে পৌঁছে দেয় যে -O3 পুরোপুরি মানের সাথে সম্মতিযুক্ত হ'ল।