আপনার অ্যাপ বেঞ্চমার্ক করুন

বেঞ্চমার্কিং হলো আপনার অ্যাপের পারফরম্যান্স পরীক্ষা ও নিরীক্ষণ করার একটি উপায়। আপনি নিয়মিত বেঞ্চমার্ক চালিয়ে পারফরম্যান্সের সমস্যা বিশ্লেষণ ও ডিবাগ করতে পারেন এবং সাম্প্রতিক পরিবর্তনগুলোতে যেন কোনো রিগ্রেশন না ঘটে, তা নিশ্চিত করতে পারেন।

আপনার অ্যাপের বিভিন্ন ধরনের পরিস্থিতি বিশ্লেষণ ও পরীক্ষা করার জন্য অ্যান্ড্রয়েড দুটি বেঞ্চমার্কিং লাইব্রেরি এবং পদ্ধতি প্রদান করে: ম্যাক্রোবেঞ্চমার্ক এবং মাইক্রোবেঞ্চমার্ক।

ম্যাক্রোবেঞ্চমার্ক

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

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

মাইক্রোবেঞ্চমার্ক

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

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

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

মাইক্রোবেঞ্চমার্ক লাইব্রেরি শুধুমাত্র আপনার অ্যাপ সম্পর্কে তথ্য প্রদান করে, পুরো সিস্টেম সম্পর্কে নয়। তাই, এটি অ্যাপের নির্দিষ্ট পরিস্থিতির পারফরম্যান্স বিশ্লেষণের জন্য সবচেয়ে উপযোগী, কিন্তু পুরো সিস্টেমের সমস্যার সাথে সম্পর্কিত বিষয়গুলোর জন্য নয়।

বেঞ্চমার্ক লাইব্রেরি তুলনা

ম্যাক্রোবেঞ্চমার্ক মাইক্রোবেঞ্চমার্ক
এপিআই সংস্করণ ২৩ এবং পরে ১৪ এবং পরে
ফাংশন উচ্চ-স্তরের প্রবেশ বিন্দু বা মিথস্ক্রিয়া পরিমাপ করুন, যেমন কোনো কার্যকলাপ শুরু করা বা তালিকা স্ক্রোল করা। স্বতন্ত্র কার্যাবলী পরিমাপ করুন।
পরিধি সম্পূর্ণ অ্যাপের প্রক্রিয়া-বহির্ভূত পরীক্ষা। সিপিইউ-এর কাজের চলমান পরীক্ষা।
গতি পুনরাবৃত্তির গতি মাঝারি। এতে এক মিনিটের বেশি সময় লাগতে পারে। দ্রুত পুনরাবৃত্তির গতি। প্রায়শই ১০ সেকেন্ডেরও কম।
ট্রেসিং ফলাফলের সাথে প্রোফাইলিং ট্রেসও থাকে। ঐচ্ছিক পদ্ধতি নমুনা সংগ্রহ এবং অনুসরণ।
{% হুবহু %} {% endverbatim %} {% হুবহু %} {% endverbatim %}