আমি জানি আমি প্রায়শই শুনেছি যে সি ++ এর চেয়ে সি এর পারফরম্যান্স সুবিধা থাকে। এমএসভিসি সি এর নতুনতম স্ট্যান্ডার্ডকে সমর্থন করে না বলে মনে হয় না হওয়া পর্যন্ত আমি এগুলির আর কিছুই ভাবি নি, তবে এটি নবীনতম এটি সি 99 সমর্থন করে (যতদূর আমি জানি)।
আমি ওপেনজিএলে রেন্ডার করার জন্য কিছু কোড সহ একটি লাইব্রেরি লেখার পরিকল্পনা করছিলাম যাতে আমি এটি পুনরায় ব্যবহার করতে পারি। গ্রাফিক্সের ক্ষেত্রে যখন কোনও পারফরম্যান্স বৃদ্ধি হয় সেহেতু আমি সি তে গ্রন্থাগারটি লেখার পরিকল্পনা করছিলাম planning
তবে সত্যিই কি এর মূল্য হবে? লাইব্রেরি ব্যবহার করে কোড সম্ভবত সি ++ এ লেখা হবে এবং আমি সি ++ তে সাধারণত কোডটি পছন্দ করি।
তবে এটি যদি পারফরম্যান্সে এমনকি সামান্য পার্থক্য তৈরি করে, আমি সম্ভবত সি দিয়ে যাব go
এটি লক্ষণীয়ও হতে পারে যে এই গ্রন্থাগারটি উইন্ডোজ / ওএস এক্স / লিনাক্স জুড়ে কাজ করার জন্য তৈরি করব এবং আমি সম্ভবত দেশীয়ভাবে সমস্ত কিছু সংকলন করব (উইন্ডোজের জন্য এমএসভিসি, ওএস এক্সের জন্য ক্ল্যাং বা জিসিসি, এবং লিনাক্সের জন্য জিসিসি ..) । অথবা সম্ভবত সবকিছুর জন্য ইন্টেলের সংকলক)।
আমি চারপাশে দেখেছি এবং আমি কিছু মাপদণ্ড এবং এরকম পেয়েছি, তবে আমি যা কিছু দেখেছি তা এমএসভিসি এবং ক্ল্যাংয়ের চেয়ে জিসিসির সাথে কাজ করেছে। এছাড়াও, মানদণ্ডগুলি ব্যবহৃত ভাষার মানগুলির উল্লেখ করে না। কারো কি কোন চিন্তা আছে এ ব্যাপারে?
সম্পাদনা করুন:আমি আরও কয়েক বছর অভিজ্ঞতার পরে এই প্রশ্নের উপর আমার দৃষ্টিভঙ্গিটি ভাগ করে নিতে চেয়েছিলাম। আমি প্রকল্পটি লিখতে শেষ করেছি আমি সি ++ তে এই প্রশ্নটি জিজ্ঞাসা করছি। আমি সি তে একই সময়ে আরও একটি প্রকল্প শুরু করলাম যেহেতু আমরা যে সামান্য পরিমাণে পারফরম্যান্স অর্জন করতে পারছিলাম এবং সিটিতে এই প্রকল্পটি সংযোগযোগ্য হওয়ার দরকার ছিল কয়েক মাস আগে, আমি সেখানে পৌঁছে গেলাম যেখানে আমার সত্যিই মানচিত্রের প্রয়োজন ছিল এবং উন্নত ছিলাম স্ট্রিং ম্যানিপুলেশন। আমি সি ++ স্ট্যান্ডার্ড লাইব্রেরিতে এর জন্য দক্ষতাগুলি সম্পর্কে জানতাম এবং অবশেষে এই সিদ্ধান্তে পৌঁছেছিলাম যে স্ট্যান্ডার্ড লাইব্রেরিতে থাকা কাঠামোগুলি সম্ভবত সিটিতে প্রয়োগ করতে পারে এমন মানচিত্র এবং স্ট্রিংয়ের চেয়ে আরও স্থিতিশীল হবে। সিটিতে লিঙ্কযোগ্য হওয়ার প্রয়োজনীয়তাটি সি ++ কোডে একটি সি ইন্টারফেস লিখে সহজেই সন্তুষ্ট হয়েছিল, যা অস্বচ্ছ ধরণের মাধ্যমে দ্রুত সম্পন্ন হয়েছিল। সি ++ তে লাইব্রেরিটি পুনরায় লেখালেখি করা হয়েছে বলে মনে হয়েছিল সিটিতে লেখার চেয়ে অনেক দ্রুত গতিতে গিয়ে বাগের প্রতি ঝুঁকির ঝুঁকি ছিল বিশেষত মেমরি ফাঁস। আমি স্ট্যান্ডার্ড লাইব্রেরি থ্রেডিং গ্রন্থাগারটিও ব্যবহার করতে সক্ষম হয়েছি যা প্ল্যাটফর্ম-নির্দিষ্ট প্রয়োগগুলি ব্যবহারের চেয়ে অনেক সহজ হয়েছে। শেষ পর্যন্ত, আমি বিশ্বাস করি যে সি ++ এ লাইব্রেরিটি লেখার ফলে খুব কম পারফরম্যান্স ব্যয় সহ দুর্দান্ত উপকার হয়েছে। আমি এখনও সি ++ সংস্করণটি বেঞ্চমার্ক করি নি, তবে আমি বিশ্বাস করি যে এটি আমার লেখাগুলির চেয়ে স্ট্যান্ডার্ড লাইব্রেরির ডেটা স্ট্রাকচার ব্যবহার করে কিছুটা সম্পাদন করা সম্ভবও হতে পারে। আমি বিশ্বাস করি যে সি ++ তে লাইব্রেরিটি লেখার ফলে খুব কম পারফরম্যান্স ব্যয় সহ দুর্দান্ত সুবিধা পাওয়া যায়। আমি এখনও সি ++ সংস্করণটি বেঞ্চমার্ক করি নি, তবে আমি বিশ্বাস করি যে এটি আমার লেখাগুলির চেয়ে স্ট্যান্ডার্ড লাইব্রেরির ডেটা স্ট্রাকচার ব্যবহার করে কিছুটা সম্পাদন করা সম্ভবও হতে পারে। আমি বিশ্বাস করি যে সি ++ এ লাইব্রেরিটি লেখার ফলে খুব কম পারফরম্যান্স ব্যয় সহ দুর্দান্ত উপকার হয়েছে। আমি এখনও সি ++ সংস্করণটি বেঞ্চমার্ক করি নি, তবে আমি বিশ্বাস করি যে এটি আমার লেখাগুলির চেয়ে স্ট্যান্ডার্ড লাইব্রেরির ডেটা স্ট্রাকচার ব্যবহার করে কিছুটা সম্পাদন করা সম্ভবও হতে পারে।