আমরা এটি শুখ হিসেবে করি কিনা বা শুধু জিজ্ঞাসা মাত্রে (বা অধিক সম্ভাবনা দুটোই), বেঞ্চмар্কিং প্রায় একটি শিল্প হয়ে উঠেছে। লোকেরা সবসময় সফ্টওয়্যার বা হার্ডওয়্যার বেঞ্চмар্ক করার সেরা উপায় খুঁজে থাকে যাতে সেই রেজাল্ট রেপ্লিকেট করার সুবিধা বাড়ে এবং আরও একিউরেট হয়। বেঞ্চмар্কিং কয়েকবার আক্ষেপের শিকার হয়েছে শুধু সিনথেটিক পারফরম্যান্স রিপ্রেজেন্ট করার জন্য বাস্তবিক পারফরম্যান্সের বদলে (বিশেষ করে হার্ডওয়্যারের জন্য), এখনও এটি একটি ভালো ইন্ডিকেটর যে কিছু কতটুকু পাওয়ারফুল বা দ্রুত।
উদাহরণস্বরূপ, যদি দুটি ভিন্ন সিপিইউর রেজাল্ট একে অপরের কাছে খুব কাছাকাছি থাকে, আপনি বলতে পারেন বাস্তব পারফরম্যান্স প্রায় একই হবে। তবে, যদি রেজাল্টগুলো একে অপরের থেকে অনেক দূরে থাকে, আপনি জানবেন যেকোনো একটি নিশ্চিতভাবেই ভালো।
আমাদের কেন একটি ভালো সমাধান দরকার
বেঞ্চмар্কিং-এ, একটি ভালো মেজারমেন্ট রাখা হলো একটি অ্যাপ্লিকেশনের স্টার্ট-আপ টাইম। এটি দুটি ভিন্ন প্রোডাক্টের মধ্যে স্টার্ট-আপ স্পীড তুলনা করতে, অথবা একই সফ্টওয়্যারের দুটি ভিন্ন কম্পিউটারে স্টার্ট-আপ স্পীড তুলনা করে হার্ডওয়্যারের পারফরম্যান্স মাপতে খুব ইউজফুল। অনেক লোক এখনো হাত দিয়ে টাইমিং করতে থাকে, যা একিউরেসি-র দৃষ্টিতে ক্যাটას্ট্রফিক হতে পারে যখন অধিকাংশ রেজাল্ট মাত্র সেকেন্ডের দূরত্বে থাকবে। তাই আমাদের একটি বেঞ্চмар্কিং টুল দরকার যা আমাদের হাতের চেয়ে অনেক বেশি একিউরেট হবে।
অ্যাপটাইমার সম্পর্কে
অ্যাপটাইমার সেটি একজেক্ট সমস্যা সমাধান করে। এটি সনাক্ত করতে পারে সেটি একজেক্ট মুহূর্ত যখন একটি কমান্ড এক্সিকিউট হয়েছে একটি প্রোগ্রাম শুরু করার জন্য এবং যখন সেটি চূড়ান্তভাবে লোড হয়েছে। এটার কয়েকটি পথ আছে, সাথে কিছু অন্যান্য ইউজফুল অপশন বেঞ্চмар্কারদের জন্য।
অ্যাপটাইমার ইনস্টল করার প্রয়োজন নেই। বরং, আপনি শুধু ডাউনলোড করুন এবং জিপ ফোল্ডার থেকে .exe ফাইল এক্সট্র্যাক্ট করুন, এবং সেটিই প্রোগ্রাম। আপনি যেকোনো মিডিয়াতে সেটি সরিয়ে যেকোনো কম্পিউটারে রান করতে পারেন। একটি বেঞ্চмар্কিং টুল হিসেবে, এটি একটি চমৎকার ফিচার।
উইন্ডো সম্পর্কে
অ্যাপটাইমার উইন্ডো বেঞ্চмар্কিং ওয়ার্ল্ডের বিগিনারদের জন্য একদম ফ্রেন্ডলি নয়, কিন্তু আমি আপনাকে সব সম্ভাব্য ফিল্ডের মাধ্যমে ঘুরিয়ে দিচ্ছি কারণ সেটা অনেক নেই। application ফিল্ড আপনাকে সিলেক্ট করতে দেয় আপনি কোন প্রোগ্রাম টাইম করতে চান। আপনি ডান পাশে "..."-এ ক্লিক করে আপনার ফোল্ডার ব্রাউজ করতে পারেন যাতে আপনাকে পুরো পাথ ম্যানুয়ালি টাইপ করতে না হয়।
Cmd Line আপনাকে একটি কমান্ড লাইন অ্যাড করতে দেয় আপনি যদি টাইম করতে চান, যদিও এটিআবশ্যক নয়।
Log File টাইমিং ইনফরমেশন রিডেবল ফরম্যাটে থাকবে। আপনাকে সিলেক্ট করতে হবে আপনি লগ ফাইল কোথায় সেভ করতে চান।
Window Name লিখতে হবে যাতে প্রোগ্রাম, লঞ্চ হলে, সেটি ডিটেক্ট করা যায় ওপেন হবার সময় যাতে সেটি অটোমেটিক্যালি বন্ধ করতে পারে। টাইটেলে তাকালে, আপনি দেখবেন কিছু কেমনো শুধু নাম বা নামের সাথে কিছু এক্সট্রা। উদাহরণস্বরূপ, আপনার টাইটেল যদি বলে "Document 1 - Microsoft Word", তবে মাইক্রোসফ্ট ওয়ার্ড হিসেবে উইন্ডো টাইটেল দিলে চলবে।
Executions বক্স নির্দেশ করে অ্যাপটাইমার কতবার সারিবদ্ধে নির্দিষ্ট অ্যাপ্লিকেশন বা কমান্ড লঞ্চ করার চেষ্টা করবে। Delay বক্স অ্যাপটাইমারকে বলে সেটি কতক্ষণ অপেক্ষা করবে আবার এক্সিকিউট করার আগে। Debug চেকবক্স হচ্ছে, ভালো, ডিবাগিং-এর জন্য, এবং আসলেই প্রয়োজন নয় যদি না আপনি জানেন আউটপুটের সাথে কী করতে হবে।
বেঞ্চмар্ক রান করা
যদি সব কিছু সঠিকভাবে লিখা থাকে, আপনি "Run App"-এ হিট করতে পারেন, এবং অ্যাপটাইমার বাকি সব করবে আপনার জন্য।
তারপর এটি আপনার নির্দিষ্ট লোকেশনে একটি লগ ফাইল সেভ করবে, যেটিতে অ্যাপ্লিকেশন শুরু হতে কতক্ষণ লাগলো সেটি থাকবে।
উপসংহার
অ্যাপটাইমার একটি আশ্চর্য চমৎকার বেঞ্চмар্কিং টুল যা "জাস্ট ওয়ার্কস" ফ্যাশনে একিউরেট রেজাল্ট দেয়। এর সাথে, আপনি নিশ্চিত হতে পারেন যে এরর মার্জিন অনেক ছোট এবং অন্যান্য সফ্টওয়্যার বা হার্ডওয়্যার কনফিগারেশনের সাথে অনেক ভালো তুলনা করা যাবে। এটি পূরণ এন্ট্রি-লেভেল বেঞ্চмар্কিং টুল। আপনি আগ্রহী হলে, আপনি কিছু অন্যান্য কুল বেঞ্চмар্কিং টুলও চেক আউট করতে পারেন।
আপনার পছন্দের বেঞ্চмар্কিং মেথড কী? কেন আপনি সেটি সবচেয়ে বেশি পছন্দ করেন? কমেন্টসে জানান!
ছবির ক্রেডিট: শাটারস্টক