যেমনটি আমরা জানি, ডিজিটাল বিশ্বে একই কাজ করার / প্রত্যাশিত ফলাফল পাওয়ার অনেকগুলি উপায় রয়েছে ..
এবং কোড থেকে আসা দায়িত্ব / ঝুঁকিগুলি বিকাশকারীদের কাঁধে থাকে ..
এটি ছোট তবে আমার কাছে নেট নেট ওয়ার্ডের একটি খুব দরকারী উদাহরণ রয়েছে gu
সুতরাং অনেক। নেট বিকাশকারীগণ পারফরম্যান্সের জন্য / তাদের প্রক্রিয়া নিয়ন্ত্রণের জন্য অন্তর্নির্মিত বাইনারিআডার - বাইনারিউইটারকে তাদের ডেটা সিরিয়ালায়নে ব্যবহার করে ..
এটি ফ্রেম ওয়ার্কের বাইনারি রাইটার শ্রেণিতে নির্মিত 'ওভারলোডেড রাইটিং মেথডগুলির মধ্যে একটি'র সিএসআরপি সোর্স কোড:
// Writes a boolean to this stream. A single byte is written to the stream
// with the value 0 representing false or the value 1 representing true.
//
public virtual void Write(bool value)
{
//_buffer is a byte array which declared in ctor / init codes of the class
_buffer = ((byte) (value? 1:0));
//OutStream is the stream instance which BinaryWriter Writes the value(s) into it.
OutStream.WriteByte(_buffer[0]);
}
যেমন আপনি দেখতে পাচ্ছেন, এই পদ্ধতিটি বাফার ভেরিয়েবলকে অতিরিক্ত বরাদ্দ না করেই লেখা যেতে পারে:
public virtual void Write(bool value)
{
OutStream.WriteByte((byte) (value ? 1 : 0));
}
বরাদ্দ না করেই আমরা কয়েক মিলি সেকেন্ড অর্জন করতে পারি..এটি কয়েক মিলিসেকেন্ড "প্রায় কিছুই নয়" হিসাবে গ্রহণ করতে পারে তবে সেখানে যদি বহু-হাজার লেখার (যেমন একটি সার্ভার প্রক্রিয়াতে) থাকে তবে কী হবে?
ধরা যাক "কয়েক" 2 (মিলিসেকেন্ড) 2 এবং বহু-হাজার উদাহরণগুলি কেবল 2.000 .. এর মানে হল 4 সেকেন্ডের আরও প্রক্রিয়া সময়..4 সেকেন্ড পরে ফিরে আসবে ..
আমরা যদি নেট থেকে সাবজেক্ট অবিরত রাখি এবং যদি আপনি বিসিএলের সোর্স কোডগুলি -। নেট বেস ক্লাস লাইব্রেরি- এমএসডিএন থেকে পরীক্ষা করতে পারেন তবে আপনি বিকাশকারী কর্তৃক সিদ্ধান্ত নিয়েছে প্রচুর পারফরম্যান্স হারাতে পারবেন ..
বিসিএল উত্স থেকে যে কোনও বিন্দু এটাই স্বাভাবিক যে আপনি বিকাশকারী () বা ফোরচ () লুপগুলি ব্যবহার করার সিদ্ধান্ত নিয়েছিলেন যা তাদের কোডটিতে () লুপের জন্য দ্রুত প্রয়োগ করতে পারে।
এই ছোট লাভ আমাদের মোট কর্মক্ষমতা দেয় ..
এবং যদি আমরা বাইনারি রাইটার.ড্রাইট () পদ্ধতিতে ফিরে যাই ...
_বফার বাস্তবায়নের জন্য অতিরিক্ত অতিরিক্ত বরাদ্দ করা কোনও বিকাশকারী দোষ নয়..এটি "নিরাপদে থাকবেন" ঠিক ঠিক!
মনে করুন যে আমরা _বাফারটি ব্যবহার না করার সিদ্ধান্ত নিয়েছি এবং দ্বিতীয় পদ্ধতিটি বাস্তবায়নের সিদ্ধান্ত নিয়েছি..আমরা যদি দ্বিতীয় পদ্ধতির সাথে একটি তারের মাধ্যমে বহু হাজার বাইট প্রেরণ করার চেষ্টা করি (যেমন কোনও BLOB বা CLOB ডেটা আপলোড / ডাউনলোড করতে পারি) তবে এটি সাধারণত ব্যর্থ হতে পারে কারণ সংযোগটি হারিয়ে গেছে ... কারণ আমরা কোনও চেক এবং নিয়ন্ত্রণকারী প্রক্রিয়া ছাড়াই সমস্ত ডেটা প্রেরণের চেষ্টা করি connection যখন সংযোগটি হারিয়ে যায়, সার্ভার এবং ক্লায়েন্ট উভয়ই কখনই প্রেরিত ডেটা সম্পূর্ণ হওয়া বা না জানেন।
যদি বিকাশকারী "নিরাপদে থাকুন" সিদ্ধান্ত নেন তবে সাধারণভাবে এর অর্থ পারফরম্যান্স ব্যয়গুলি "নিরাপদে থাকুন" প্রক্রিয়া (গুলি) বাস্তবায়নের উপর নির্ভর করে।
তবে যদি বিকাশকারী "ঝুঁকিপূর্ণ হন, পারফরম্যান্স অর্জন করুন" সিদ্ধান্ত নেন তবে এটিও ত্রুটি নয় .. যতক্ষণ না "ঝুঁকিপূর্ণ" কোডিং সম্পর্কে কিছু আলোচনা হয়।
এবং একটি ছোট নোট হিসাবে: বাণিজ্যিক গ্রন্থাগার বিকাশকারীরা সর্বদা নিরাপদে থাকার চেষ্টা করে কারণ তাদের কোডটি কোথায় ব্যবহার করবে তা তারা জানে না।