পারফরম্যান্স সম্পর্কে আমার কখন যত্ন করা উচিত?


16

জাভার আইআরসি চ্যানেল , এসও এবং অন্যান্য জায়গাগুলির মতো জায়গাগুলিতে দীর্ঘ সময়ের জন্য আমাকে "কোডটি কীভাবে দেখাচ্ছে এবং এখন এর পাঠযোগ্যতা / বোধগম্যতা এবং এখন একেবারে প্রয়োজনীয় হলে পারফরম্যান্স" এর পরে কর্মক্ষমতা "এর পাতায় কিছু বলা হয়েছে। তাই দীর্ঘ সময়ের জন্য, আমি আমার ছোট ডেস্কটপ বা ওয়েব অ্যাপ্লিকেশনগুলির জন্য পারফরম্যান্স সম্পর্কে সত্যই ওসিডি হচ্ছি না, কেবল স্পষ্টতই অদক্ষ অপসারণ করেছি।

বেশিরভাগ প্রতিক্রিয়া হ'ল "স্কেল্যাবিলিটি সম্পর্কে কী?" এটি একটি বৈধ পয়েন্ট, তবে যদি আমার অ্যাপ্লিকেশনটি কেবল 10,000 টি লাইন দীর্ঘ ফাইল করার জন্য তৈরি করা হয়েছিল, তবে কি 1,000,000 লাইনের ফাইলটিতে যে লোকেরা ছোটখাটো শতাংশে টানতে যাচ্ছেন, তাদের জন্য কি আমি আমার কোডকে গোলযোগ করব?

আমার মূল প্রশ্নটি হ'ল আমি যখন বড় আকারের জটিল জটিল প্রাণীদের পক্ষে কাজগুলি করার সহজ তবে কিছুটা অদক্ষ উপায়ের ট্রেড করব তবে তা আপগ্রেড করার যে কোনও সম্ভাব্য উপায় নষ্ট করে দেয় এবং কোডটিকে অত্যধিক কঠিন এবং পরবর্তী বিকাশকারী যেভাবেই হোক পুনরায় লেখার প্রবণতা তৈরি করে?

উত্তর:


23

কর্মক্ষমতাটি যখন সমস্যা হয়ে দাঁড়ায় তখন উদ্বিগ্ন হন।

আপনি যদি 10,000 লাইন ফাইলগুলি প্রক্রিয়া করতে একটি ছোট অ্যাপ লিখে থাকেন এবং প্রতি 100 তম ফাইলটিতে আপনি 1,000,000 লাইন ফাইল পেয়ে থাকেন তবে সম্ভবত এটি কোনও ব্যাপার নয় যে সেই ফাইলটি প্রসেস করতে বেশি সময় লাগে। তবে, আপনি যদি প্রাথমিকভাবে 5-10 গুণ বেশি বড় ফাইলগুলি নিয়মিত পেতে থাকেন এবং আপনার অ্যাপ্লিকেশনটি এর কাজটি করতে খুব বেশি সময় নিচ্ছে, তবে আপনি প্রোফাইলিং এবং অনুকূলিতকরণ শুরু করবেন।

এখন, আমি বলেছি "এর কাজটি করতে খুব দীর্ঘ"। এটি ব্যবহারকারী বা স্পনসর প্রতিষ্ঠানের উপর নির্ভর করে সিদ্ধান্ত নিতে to আমি যদি কোনও কাজ করছি এবং সফটওয়্যার ছাড়াই বা অন্য কোনও সরঞ্জাম দিয়ে আমাকে যখন 3 টা লাগবে তখন কিছু করতে আমার 5 মিনিট সময় লাগে, আমি সম্ভবত এটির উন্নতি করার জন্য একটি বাগ রিপোর্ট বা রক্ষণাবেক্ষণের জন্য আবেদন করব।

আপনি যদি ব্যবহারকারী হন তবে আপনার সফ্টওয়্যারটি এর কাজটি করতে কতক্ষণ সময় নিতে চাইবে তা আপনার উপর নির্ভর করে - কেবল আপনিই সিদ্ধান্ত নিতে পারেন আপনি এটি দ্রুত সম্পন্ন করতে চান বা আপনি আরও পড়ার কোড পেতে আরও অপেক্ষা করতে ইচ্ছুক কিনা।



আমি প্রোফাইলিং এবং অপ্টিমাইজ করা শুরু করি যদি 1) কাজটি দীর্ঘ সময় নেয় 2) একটি হার্ডওয়ার রিসোর্স সর্বাধিক (উদাহরণস্বরূপ 100% সিপিইউ)
এ বিঞ্জজএক্সএক্সএক্সএক্সএক্সএক্স

10

আমার মূল প্রশ্নটি হ'ল আমি যখন বড় আকারের জটিল জটিল প্রাণীদের পক্ষে কাজগুলি করার সহজ তবে কিছুটা অদক্ষ উপায়ের ট্রেড করব তবে তা আপগ্রেড করার যে কোনও সম্ভাব্য উপায় নষ্ট করে দেয় এবং কোডটিকে অত্যধিক কঠিন এবং পরবর্তী বিকাশকারী যেভাবেই হোক পুনরায় লেখার প্রবণতা তৈরি করে?

এটি সাধারণত একটি মিথ্যা দ্বিবিজ্ঞান হয় । আপনি বিস্ময়করভাবে দক্ষ, পঠনযোগ্য এবং রক্ষণাবেক্ষণযোগ্য কোডটি লিখতে পারেন। আপনি বিস্ময়করভাবে অযোগ্য, মেসের অবিশ্বাস্য পাইলস লিখতে পারেন।

পারফরম্যান্স সংক্রান্ত সমস্যাগুলি মোকাবেলা করার সময়, আমি সাধারণত আমি যে ব্যবসায়িক সমস্যার সমাধান করছি তা নিয়ে চিন্তা করার চেষ্টা করি। যখন আমার গ্রাহকরা এটি ব্যবহার করবেন তখন কীভাবে আমার সফ্টওয়্যার ব্যবহার করবে। আমার অ্যাপ্লিকেশন কর্মক্ষমতা জ্যাকব নীলসনকে খুশি করবে ?


5
++ মিথ্যা ডিকোটোমি! তারা কি কখনও শিখবে না? আপনি যখন কোনও পারফরম্যান্স সমস্যা খুঁজে পান এবং ঠিক করেন, কোডটি কেবল দ্রুতই নয়, আরও ভাল । আমি কেবল অনুশোচনা করি যে আমার দেওয়া কিন্তু একটি উঁচুতে!
মাইক ডুনলাভে

এটি লেখার জন্য +1 যে এটি অবশ্যই একটি মিথ্যা দ্বিবিজ্ঞান ... সর্বদা নয়, সাধারণত।
ড্যান রোজনস্টার্ক

1
-1 লেখার জন্য এটি সাধারণত একটি মিথ্যা দ্বিবিজ্ঞান - সত্য সত্য, এটি সাধারণত সঠিক, এবং কেবল বিরল ক্ষেত্রেই একটি মিথ্যা দ্বিবিজ্ঞান হয়। আমার প্রোগ্রামিং ক্যারিয়ারের ৩০ বছরেরও বেশি সময় ধরে আমি অনেকগুলি "সুপরিকল্পিত" পারফরম্যান্স অপটিমাইজেশন দেখেছি যা আসলে কোডটি বুঝতে এবং বজায় রাখা শক্ত করে তোলে (এবং প্রায়শই এমন কিছু অনুকূলিত হয়েছিল যা অনুকূলিত হওয়া সম্পূর্ণ অপ্রয়োজনীয় ছিল)।
ডক ব্রাউন

5

একটি ট্রুইজম আমি কলেজের মাইক্রোপ্রসেসরগুলি অধ্যয়ন করেছিলাম যা আমার সাথেই ছিল: "সাধারণ কেসটি দ্রুত করুন the অস্বাভাবিক কেসটি সঠিক করুন।"

যতক্ষণ না আপনার কাছে মাত্র কয়েক শতাংশ ব্যবহারকারী আপনার কোডটি ইনপুট দিয়ে চটকে যাচ্ছেন হ্যান্ডেল করার চেয়ে তার চেয়ে বড় দুটি ক্রমের পরিমাণ রয়েছে, এটি ঘামবেন না। তারা যদি যথেষ্ট পরিমাণ সময় দেয় তবে এটি সঠিকভাবে ইনপুট পরিচালনা করছে কিনা তা নিশ্চিত করুন এবং কাজ শেষ হওয়ার আগেই যদি তারা কাজটি মেরে ফেলে তবে কোনও অকারণে কলুষিত না করে।

তবে, আরও একবার লোকেরা সেভাবে এটি ব্যবহার শুরু করে (বা আপনাকে জানাতে শুরু করে "আপনি জানেন যে, আপনি আমার সাপ্তাহিক টিপিএস প্রতিবেদনে যে সরঞ্জামটি লিখেছিলেন তা আমি খুব পছন্দ করতে চাই, তবে এটি সমস্ত ফ্রেইকিনের দিন লাগে"), তখনই আপনি পারফরম্যান্স লাভের জন্য রক্ষণাবেক্ষণের স্বাচ্ছন্দ্যে বাণিজ্য বিবেচনা শুরু করেন।


1

আমার মূল প্রশ্নটি হ'ল আমি যখন বড় আকারের জটিল জটিল প্রাণীদের পক্ষে কাজগুলি করার সহজ তবে কিছুটা অদক্ষ উপায়ের ট্রেড করব তবে তা আপগ্রেড করার যে কোনও সম্ভাব্য উপায় নষ্ট করে দেয় এবং কোডটিকে অত্যধিক কঠিন এবং পরবর্তী বিকাশকারী যেভাবেই হোক পুনরায় লেখার প্রবণতা তৈরি করে?

"কোডটি এখন কীভাবে দেখায় এবং এর পাঠযোগ্যতা / বোধগম্যতা, এবং একেবারে প্রয়োজনে পরে পারফরম্যান্স" তা নিয়ে চিন্তাভাবনা করা সহজ উপায়, এবং সাধারণত অসহায়। একটি ভাল নকশা বজায় রাখা সহজ, পড়া সহজ এবং দক্ষ।

পারফরম্যান্স একটি ভাল ডিজাইনের একটি সাধারণ উপাদান। যদি আপনার প্রোগ্রামটি ধীর এবং অপব্যয়যুক্ত হয় তবে এটি সত্যিই পুনরায় ব্যবহারযোগ্য নয়। যখন আপনি ঠিক করতে প্রয়োজন যে জগাখিচুড়ি, আপনি আপনার ক্লায়েন্ট আপডেটগুলি বাধ্য যদি না তা খুব সময় আপডেটে তাদের জন্য consuiming আছে। ধীরগতির প্রোগ্রামটি এমন বড় গন্ডগোল হয়ে ওঠে যা উন্নতি করতে খুব ব্যয়সাধ্য। তারপরে তারা একটি বিকল্প বেছে নিন কারণ এটি তাদের প্রয়োজন অনুসারে নয়। একটি খারাপ ডিজাইনের উন্নতিগুলির পার্শ্ব প্রতিক্রিয়াগুলি নির্ণয়, আপডেট এবং ডিল করার ক্ষেত্রে প্রায়শই এটি দক্ষ হওয়ার জন্য সঠিকভাবে কাজ করার জন্য লেখার প্রাথমিক বিকাশের সময়কে ছাড়িয়ে যায় এবং জেনারেলিকভাবে ভাল নকশা থাকে। এই প্রোগ্রামটি অত্যন্ত পুনঃব্যবহারযোগ্য এবং স্বল্প মূলধারার প্রয়োজন (জয়)।

সুতরাং, আপনার প্রশ্নের সংক্ষিপ্ত উত্তর হ'ল "অপব্যয় করা হবে না re পুনরায় ব্যবহারের জন্য লিখুন prot প্রোটোটাইপিং / ধারণাগুলির প্রমাণ বিকাশ করার সময় অলস হওয়া ঠিক আছে তবে প্রোডাকশন কোডের জন্য সেই প্রোটোটাইপটি ব্যবহার করবেন না"

আপনি যখন পুনরায় ব্যবহারের পরিকল্পনা করছেন এমন প্রোডাকশন প্রোগ্রাম এবং প্রোগ্রামগুলি লেখার সময় অপচয় এবং নকশাগুলি সম্পর্কে সচেতন হন এবং এড়িয়ে যান। বাস্তবায়নের সময় আপনার প্রোগ্রামটি অপব্যয় না করে লেখার জন্য আদর্শ সময় - আপনার বিশদ এবং এর ক্রিয়াকলাপ সম্পর্কে আপনার স্পষ্ট ধারণা রয়েছে এবং এটি লিখিত হওয়ার পরে এটি ঠিক করা বেদনাদায়ক এবং অকার্যকর। প্রচুর লোকেরা বিশ্বাস করেন যে শেষে কিছুটা প্রোফাইলিং (হতে পারে) বা যদি সমস্যা হয় তবে পর্যাপ্ত সমস্যা হয়, যখন সাধারণত পুনরায় নকশা / পরিবর্তন করতে খুব বেশি সময় লাগে এবং অদক্ষতাগুলি এত বেশি এবং এত বিস্তৃত হয় যে আপনি প্রোগ্রামটি বুঝতে পারছেন না ভাল একটি প্রোফাইল ফলাফল উপর ভিত্তি করে। এই পদ্ধতির বাস্তবায়নের সময় খুব কম সময় লাগে এবং (ধরে নিবেন যে আপনি এটি যথেষ্ট সময় করেছেন) সাধারণত একটি ডিজাইনের ফলাফল হয় যা বেশ কয়েকগুণ দ্রুত হয় এবং আরও অনেকগুলি প্রসঙ্গে পুনরায় ব্যবহারযোগ্য। অপব্যয় করা হচ্ছে না, ভাল অ্যালগরিদম বাছাই করা, আপনার প্রয়োগগুলি সম্পর্কে চিন্তা করা এবং সঠিক প্রয়োগগুলি পুনরায় ব্যবহার করা ভাল ডিজাইনের সমস্ত উপাদান; সব যাউন্নত আরো প্রায়ই তুলনায় এটি ব্যাথা পাঠযোগ্যতা, maintainability এবং পুনরায় ব্যবহার করে।


0

আমি কোডটি পঠনযোগ্য করে তোলার চেষ্টা করি - পারফরম্যান্সকে অভিশাপ দেওয়া হোক।

কখন এবং যদি কোডটি খুব ধীর বলে প্রমাণিত হয় তবে আমি এটিকে আরও দ্রুত হিসাবে চিহ্নিত করব। কোড কম পাঠযোগ্য হয় না বলে সাধারণত রিফ্যাক্টরিং প্রক্রিয়াটি প্রচুর মন্তব্য সহ অনুসরণ করা হয়।


0

উম - কখনই না?

গুরুত্ব সহকারে, কোড সর্বদা লেখা উচিত যাতে সহজে বোঝা যায় এবং বজায় থাকে।

পারফরম্যান্স সমস্যার সাথে কখন মোকাবিলা করতে হবে সে সম্পর্কে, যখন আপনি তাদের সনাক্ত করেন, তখন তাদের সাথে ডিল করুন আপনার কোডটি প্রাক-অনুকূলিতকরণ করবেন না কারণ তখন আপনি কেবল পারফরম্যান্সের সমস্যাগুলি সম্পর্কে অনুমান করতে পারবেন।

যদি আপনার কোডটি স্পষ্ট, সংক্ষিপ্ত, বোধগম্য এবং রক্ষণাবেক্ষণযোগ্য হিসাবে রচিত হয় তবে কোডটি আরও কার্যকর করার জন্য আপনার বা অন্য কোনও প্রোগ্রামারকে কোডটিকে পুনরায় সংশোধন করতে সমস্যা হবে না।


3
আমি এর সাথে একমত নই একটি পারফরম্যান্স প্রয়োজনীয়তা একটি সিস্টেমের জন্য একটি বৈধ অ-কার্যকরী প্রয়োজনীয়তা।
টমাসের মালিক

প্রযুক্তিগতভাবে যদি কোনও স্পষ্টভাবে সংজ্ঞায়িত পারফরম্যান্স সম্পর্কিত প্রয়োজনীয়তা থাকে তবে এটি বলা যেতে পারে যে আপনি কোনও পারফরম্যান্স সমস্যা চিহ্নিত করেছেন এবং আপনার সমাধানে এটির জন্য অ্যাকাউন্ট করতে হবে। আমি যা বলছি তা আগে থেকেই চালাক হয়ে উঠছে যাতে আপনি অ-নির্দিষ্ট 'সম্ভাব্য' সমস্যা এড়াতে পারেন।
নোহ গুডরিচ 21

আহ। হ্যাঁ, আপনার ক্ষেত্রে একদম ঠিক। আপনি সম্ভাবনাগুলি নিয়ে চিন্তা করবেন না কারণ অনেকগুলি রয়েছে তবে আপনি যা জানেন তার উপর ফোকাস করুন।
থমাসের মালিকানা

0

আমি সাধারণত প্রথমে এবং সর্বাগ্রে পাঠযোগ্য হতে কোডটি লিখি। যদি, এবং কেবলমাত্র, আমি দেখতে পেলাম যে প্রোগ্রামটি খুব ধীরে চলছে এর কাজটি করতে কী প্রোফাইল এবং অনুকূলিতকরণ করব? এটি বলেছে, সাধারণ অপটিমাইজেশনগুলি করার অভ্যাসে প্রবেশ করাতে কোনও ভুল নেই যা আপনার কোডের পঠনযোগ্যতাকে প্রভাবিত করে না। এটি হ'ল, যদি কোনও টুকরো কোড দুটি সমানভাবে (বা প্রায় সমানভাবে) পঠনযোগ্য উপায়ে লেখা যায় তবে সাধারণত দ্রুততর একটি চয়ন করুন choose

উদাহরণস্বরূপ, পাইথনে, তালিকা উপলব্ধি (বা জেনারেটরের এক্সপ্রেশন) সমতুল্যর চেয়ে দ্রুততর হয় for লুপের , তাই আমি তালিকার বোধগম্য ব্যবহার করি যেখানে আমি করতে পারি, যদি তারা পাঠযোগ্যতাকে প্রভাবিত করে না (উদাহরণস্বরূপ, আমি নীড় তালিকার বোধ না করে) আমি এড়াতে পারি এবং পরিবর্তে লুপের জন্য ব্যবহার করতে পারি কারণ নেস্টেড তালিকা বোঝার মানসিকভাবে পার্স করা শক্ত হতে পারে)।

একইভাবে, অপরিবর্তনযোগ্য ডেটা প্রকারগুলি পরিবর্তনীয়গুলির চেয়ে দ্রুততর হয়, তাই আমি যেখানে পারি সেখানে অপরিবর্তনীয় ডেটা ব্যবহার করি।


0

আপনি যদি সত্যিকারের পারফরম্যান্স-সমালোচনামূলক ক্ষেত্রগুলিতে কাজ করছেন, তবে আপনি দক্ষতা পরবর্তী চিন্তা হিসাবে বন্ধ করতে পারবেন না। সেই ক্ষেত্রে শুরুর দিকে ডিজাইন করার সময় এবং শেষের ফলাফলের রক্ষণাবেক্ষণের সাথে সম্পর্কিত এমন উপায়গুলির বিষয়ে চিন্তা করা সবচেয়ে গুরুত্বপূর্ণ বিষয়।

আপনি একটি বৃহত-স্কেল সার্ভার ডিজাইন এবং বাস্তবায়ন করতে পারবেন না এবং কেবল সহজ, ভাল-ডকুমেন্টেড কোড লেখা শুরু করতে পারবেন যা কোনও গ্লোবাল থ্রেড লক দিয়ে প্রতিটি কিছুর জন্য কেবল ব্লকিং ফাংশন ব্যবহার করে যা প্রতিটি সিস্টেমের ক্লায়েন্টের অনুরোধটি প্রক্রিয়া করার জন্য পুরো সিস্টেমকে লক করে রাখে এবং কোনও কিছু না রেখে। ভাগ করা অবস্থা, থ্রেডের বিতর্ক এবং অ্যাসিঙ্ক্রোনসিটিতে যা কিছু ভাবা হয়েছিল। এটি হ'ল বিপর্যয়ের একটি রেসিপি এবং আপনি লিখেছেন এমন সুন্দরভাবে নথিভুক্ত কোডের বেশিরভাগ অংশকে নতুন করে ডিজাইন ও পুনর্লিখনের প্রয়োজন যা চেষ্টা করার ফলে জাতিগত পরিস্থিতি এবং অচলাবস্থায় জর্জরিত সবচেয়ে কঠিন-বজায় রাখা কোডবেসকে কল্পনা করতে পারে কেবল দক্ষ, সাধারণ, কার্যকরী নকশাগুলি সামনের দিকে চিন্তা করার বিপরীতে, পূর্ববর্তী স্থানে প্রয়োজনীয় দক্ষতা অর্জন করতে।

একটি গেম ডেভেলপমেন্ট টিম একটি ইঞ্জিনের সাথে 8 মাস উত্পাদন করে যা 32 মিনিটের সাথে তাদের বীফেষ্ট হার্ডওয়ারে প্রতি সেকেন্ডে 2 ফ্রেমে যায় যখন পর্দা ব্যস্ত হয় প্রতি 15 সেকেন্ডের জন্য স্টল রাখার প্রবণতা কেবল তাত্ক্ষণিকভাবে ব্যবহারযোগ্য পণ্য পাওয়ার সম্ভাবনা কম একটি স্থানীয় স্থানীয় হটস্পট ঠিক করা। সম্ভাবনা হ'ল তাদের নকশাটি এমনভাবে ফুবার যা ড্রেইং বোর্ডের একটি মহাকাব্য পুনর্বিবেচনার ওয়ারেন্ট দেয় এবং কোডবেসের প্রতিটি কোণে ক্যাসকেড করতে পারে এমন ডিজাইনের পরিবর্তনের জন্য।

জন কারম্যাকের সাথে তিনি একবার কথা বলেছেন যে কোনও প্রযুক্তির ডেমো কীভাবে প্রযোজনায় সংহত করার জন্য প্রতি সেকেন্ডে ন্যূনতম শত থেকে হাজার হাজার ফ্রেম চালাতে হয়। এটি দক্ষতার সাথে অস্বাস্থ্যকর আবেশ নয়। তিনি সামনের দিকে জানেন যে গেমগুলি গ্রাহকদের গ্রহণযোগ্যতা পেতে এটির জন্য পুরোপুরি 30+ এফপিএসে চালানো দরকার। ফলস্বরূপ একটি নরম ছায়া সিস্টেমের মতো একটি সামান্য দিকটি 30 এফপিএসে চলতে পারে না, অন্যথায় সামগ্রিকভাবে গেমটি সম্ভবত প্রয়োজনীয় রিয়েলটাইম প্রতিক্রিয়া সরবরাহ করার জন্য যথেষ্ট দ্রুততর হতে পারে না। এটি প্রয়োজনীয় দক্ষতা অর্জন না করা অব্যবহার্য । এই জাতীয় পারফরম্যান্স-সমালোচনামূলক ক্ষেত্রগুলিতে যেখানে দক্ষতার জন্য মৌলিক প্রয়োজনীয়তা রয়েছে, পর্যাপ্ত গতি অর্জনে ব্যর্থ হওয়া একটি সমাধান আসলে কার্যকরভাবে কার্যকর হয় না তার চেয়ে ভাল আর কিছু নয়, যেহেতু উভয়ই সম্পূর্ণ। এবং আপনি একটি দক্ষ সফট শ্যাডো সিস্টেম ডিজাইন করতে পারবেন না যা রিয়েলটাইম গেম ইঞ্জিনের জন্য প্রয়োজনীয় হিসাবে প্রতি সেকেন্ডে কয়েক হাজার থেকে হাজার হাজার ফ্রেমে চলে যদি না আপনি তার কার্যক্ষমতা সম্পর্কে অগ্রাধিকারের চিন্তাভাবনা না রাখেন। প্রকৃতপক্ষে, এই জাতীয় ক্ষেত্রে 90% কাজ দক্ষতার দিকে লক্ষ্য করে যেহেতু নরম ছায়া ব্যবস্থা নিয়ে আসা তুচ্ছ, যা পথ ট্রেসিং ব্যবহার করে ফ্রেমে প্রতি 2 ঘন্টা ঠিকঠাক কাজ করে তবে আপনি এটি টিউন করতে পারবেন না সম্পূর্ণ ভিন্ন পরিবর্তনের পদ্ধতির ছাড়াই প্রতি সেকেন্ডে কয়েক শ ফ্রেমে দৌড়াতে।

দক্ষতা যখন কোনও অ্যাপ্লিকেশন ডিজাইনের একটি মৌলিক অঙ্গ হয়, আপনি এড়াতে নাটকীয়ভাবে সাশ্রয়ের চেয়ে বেশি সময় না হারাতে আপনি পর্দার দৃষ্টিতে দক্ষতা অর্জনের আশা করতে পারবেন না, যেহেতু আপনি পূর্ববর্তী ক্ষেত্রে কোনও কাজের নকশা অর্জনের আশা করতে পারেন না। কেউ বলছেন না, " পরে অবধি ডিজাইনের বিষয়ে চিন্তাভাবনা করা ঠিক নয় Just আপনার কোডটি ভালভাবে নথিভুক্ত করুন এবং পরে আপনি একটি উপযুক্ত নকশা নিয়ে আসতে পারেন ।" তবে পারফরম্যান্স-সমালোচনামূলক আর্কিটেকচারগুলিতে, আপনি যদি দক্ষতার নকশাগুলি সামনে রেখে খুব যত্ন এবং চিন্তাভাবনা না করেন তবে আপনি কার্যকরভাবে তা করছেন।

এখন এর অর্থ এই নয় যে আপনাকে ব্যাট হাতে সরাসরি প্রয়োগগুলি মাইক্রো-টিউন করতে হবে। বাস্তবায়নের বিশদগুলির জন্য, পরিমাপের পরে দ্রুত সমাধানগুলির দিকে পুনরাবৃত্তি করার প্রচুর জায়গা রয়েছে তবে শর্ত থাকে যে ডিজাইনের কোনও পরিবর্তন প্রয়োজন হবে না, এবং প্রায়শই এটির সর্বাধিক উত্পাদনশীল উপায়। তবে ডিজাইনের স্তরে, এর অর্থ এই নয় যে আপনাকে নকশা এবং আর্কিটেকচারটি শুরু থেকেই দক্ষতার সাথে কীভাবে সম্পর্কিত হবে এ বিষয়ে পর্যাপ্ত চিন্তাভাবনা রাখতে হবে।

এখানে মূল পার্থক্য হ'ল নকশা। নকশাগুলি নির্ভরতা জমে থাকায় পর্দার নকশায় বড় পরিবর্তন করা সহজ নয় এবং নকশার পরিবর্তন হলে নির্ভরতাগুলি ভেঙে যায়। এবং যদি কোনও ডিজাইনের যুক্তিসঙ্গত দক্ষ হওয়ার প্রয়োজন হয় বা কিছু ক্ষেত্রে, এর গুণমানটি তার দক্ষতার দ্বারা অনেকাংশে পরিমাপ করা হয়, তবে আপনার প্রত্যাশা করা উচিত নয় যে কোনও উত্তরোত্তর হিসাবে সঠিক নকশা অর্জন করতে সক্ষম হবেন। যে কোনও প্রতিযোগিতামূলক পণ্য যেখানে দক্ষতা মানের একটি বিশাল দিক যেখানে এটি অপারেটিং সিস্টেমগুলি বা সংকলকগুলি বা ভিডিও প্রসেসরগুলি বা রেট্রেসরগুলি বা গেম ইঞ্জিনগুলি বা পদার্থবিজ্ঞানের ইঞ্জিনগুলিই হোক না কেন, দক্ষতা এবং ডেটা উপস্থাপন সম্পর্কে চিন্তাভাবনা প্রথম থেকেই সূক্ষ্মভাবে চিন্তা করা হয়েছিল। এবং এই ক্ষেত্রে দক্ষতার সামনে এত চিন্তাভাবনা করা অকালীন অপ্টিমাইজেশন নয়। এটি করার জন্য সবচেয়ে উত্পাদনশীল সময়ে ঠিক এই জাতীয় চিন্তাভাবনা রেখেছিল,

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.