ব্যাখ্যা
একটি প্রোগ্রামের পারফরম্যান্স হার্ডওয়্যার এবং সফটওয়্যার— উভয়ের ওপরই নির্ভরশীল।
সফটওয়্যার বনাম হার্ডওয়্যার সমাধান:
তাত্ত্বিকভাবে কম্পিউটার সায়েন্সে একটি ভালো অ্যালগরিদম (Asymptotically faster, যেমন- $O(n^2)$ এর বদলে $O(n \log n)$) ব্যবহার করা দীর্ঘমেয়াদে সবচেয়ে বেশি ইফেক্টিভ। কিন্তু একজন সাধারণ ব্যবহারকারীর (End-user) দৃষ্টিকোণ থেকে, যখন তার পিসিতে আগে থেকেই একটি প্রস্তুতকৃত প্রোগ্রাম (Third-party software) চলছে, তখন ব্যবহারকারীর পক্ষে প্রোগ্রামটির সোর্স কোড পরিবর্তন করে নতুন অ্যালগরিদম তৈরি করা সম্ভব নয়।
ব্যবহারিক সমাধান:
এই ক্ষেত্রে ব্যবহারকারী তার পিসির হার্ডওয়্যার আপগ্রেড করে পারফরম্যান্স বৃদ্ধি করতে পারেন।
১. Configuration উন্নত করা: অর্থাৎ শক্তিশালী CPU বা বেশি ধারণক্ষমতার RAM যুক্ত করলে প্রসেসিং স্পিড এবং মেমরি ম্যানেজমেন্ট ভালো হবে।
২. দ্রুত গতির I/O device: যেমন- পুরনো মেকানিক্যাল HDD-এর পরিবর্তে দ্রুতগতির SSD (Solid State Drive) লাগালে ডেটা রিড/রাইট স্পিড বহুগুণ বেড়ে যাবে, যা প্রোগ্রামের লোডিং এবং এক্সিকিউশন টাইম কমিয়ে দেবে।
সুতরাং, ব্যবহারিক প্রেক্ষাপটে (খ) ও (গ) উভয়ই সঠিক।
Source: Computer Architecture: A Quantitative Approach by Hennessy and Patterson.