বেঞ্চমার্কিং হল আপনার অ্যাপের কর্মক্ষমতা পরিদর্শন ও নিরীক্ষণ করার একটি উপায়। কর্মক্ষমতা সমস্যা বিশ্লেষণ এবং ডিবাগ করার জন্য আপনি নিয়মিত বেঞ্চমার্ক চালাতে পারেন এবং সাম্প্রতিক পরিবর্তনগুলিতে আপনি যে রিগ্রেশন প্রবর্তন করবেন না তা নিশ্চিত করতে সহায়তা করতে পারেন।
অ্যান্ড্রয়েড আপনার অ্যাপে বিভিন্ন ধরণের পরিস্থিতি বিশ্লেষণ ও পরীক্ষা করার জন্য দুটি বেঞ্চমার্কিং লাইব্রেরি এবং পদ্ধতির অফার করে: ম্যাক্রোবেঞ্চমার্ক এবং মাইক্রোবেঞ্চমার্ক।
ম্যাক্রোবেঞ্চমার্ক
ম্যাক্রোবেঞ্চমার্ক লাইব্রেরি বৃহত্তর ব্যবহারকারীর মিথস্ক্রিয়া পরিমাপ করে, যেমন স্টার্টআপ, UI এর সাথে ইন্টারঅ্যাকশন এবং অ্যানিমেশন। লাইব্রেরি আপনি পরীক্ষা করছেন কর্মক্ষমতা পরিবেশের উপর সরাসরি নিয়ন্ত্রণ প্রদান করে। এটি আপনাকে কম্পাইলিং নিয়ন্ত্রণ করতে দেয় এবং প্রকৃত অ্যাপ স্টার্টআপ বা স্ক্রোলিং সরাসরি পরিমাপ করতে আপনাকে আপনার অ্যাপ শুরু করতে এবং বন্ধ করতে দেয়।
ম্যাক্রোবেঞ্চমার্ক লাইব্রেরি ইভেন্টগুলিকে ইনজেক্ট করে এবং আপনার পরীক্ষার সাথে তৈরি একটি পরীক্ষা অ্যাপ থেকে বাহ্যিকভাবে ফলাফলগুলি পর্যবেক্ষণ করে। অতএব, বেঞ্চমার্ক লেখার সময়, আপনি সরাসরি আপনার অ্যাপ কোড কল করবেন না এবং পরিবর্তে ব্যবহারকারী হিসাবে আপনার অ্যাপের মধ্যে নেভিগেট করবেন।
মাইক্রোবেঞ্চমার্ক
মাইক্রোবেঞ্চমার্ক লাইব্রেরি আপনাকে সরাসরি লুপে অ্যাপ কোড বেঞ্চমার্ক করতে দেয়। এটি সিপিইউ কাজের পরিমাপের জন্য ডিজাইন করা হয়েছে যা সেরা-কেস কর্মক্ষমতা মূল্যায়ন করে- যেমন ওয়ার্মড আপ জাস্ট ইন টাইম (জেআইটি) এবং ডিস্ক অ্যাক্সেস ক্যাশ করা হয়- যা আপনি একটি অভ্যন্তরীণ-লুপ বা একটি নির্দিষ্ট হট ফাংশন দিয়ে দেখতে পারেন। লাইব্রেরি শুধুমাত্র কোড পরিমাপ করতে পারে যা আপনি সরাসরি বিচ্ছিন্নভাবে কল করতে পারেন।
যদি আপনার অ্যাপের একটি জটিল ডেটা স্ট্রাকচার প্রসেস করতে হয়, অথবা কিছু নির্দিষ্ট কম্পিউটেশন-ভারী অ্যালগরিদম থাকে যা অ্যাপ চালানোর সময় একাধিকবার বলা হয়, তাহলে বেঞ্চমার্কিংয়ের জন্য এটি ভাল ক্ষেত্রে হতে পারে। আপনি আপনার UI এর অংশগুলিও পরিমাপ করতে পারেন। উদাহরণস্বরূপ, আপনি RecyclerView
আইটেম বাঁধাইয়ের খরচ পরিমাপ করতে পারেন, একটি লেআউটকে স্ফীত করতে কতক্ষণ লাগে বা আপনার View
ক্লাসের লেআউট-এবং-পরিমাপ পাস একটি কর্মক্ষমতা দৃষ্টিকোণ থেকে কতটা দাবি করা হয়।
যাইহোক, বেঞ্চমার্ক করা কেসগুলি সামগ্রিক ব্যবহারকারীর অভিজ্ঞতায় কীভাবে অবদান রাখে তা আপনি পরিমাপ করতে সক্ষম নন। কিছু পরিস্থিতিতে, বেঞ্চমার্কিং আপনাকে বলে না যে আপনি জ্যাঙ্ক বা অ্যাপ স্টার্টআপ সময়ের মতো কোনও বাধার উন্নতি করছেন কিনা। এই কারণে, Android Profiler-এর মাধ্যমে প্রথমে সেই বাধাগুলি চিহ্নিত করা অত্যন্ত গুরুত্বপূর্ণ৷ আপনি যে কোডটি তদন্ত করতে এবং অপ্টিমাইজ করতে চান সেটি খুঁজে পাওয়ার পরে, কম শোরগোল ফলাফল তৈরি করতে বেঞ্চমার্ক করা লুপটি দ্রুত এবং সহজ পদ্ধতিতে বারবার চলতে পারে, যা আপনাকে উন্নতির একটি ক্ষেত্রে ফোকাস করতে দেয়।
মাইক্রোবেঞ্চমার্ক লাইব্রেরি শুধুমাত্র আপনার অ্যাপ সম্পর্কে তথ্য রিপোর্ট করে, সামগ্রিক সিস্টেম সম্পর্কে নয়। অতএব, অ্যাপের জন্য নির্দিষ্ট পরিস্থিতিতে পারফরম্যান্স বিশ্লেষণ করার ক্ষেত্রে এটি সর্বোত্তম, সামগ্রিক সিস্টেমের সমস্যাগুলির সাথে সম্পর্কিত নয়।
বেঞ্চমার্ক লাইব্রেরি তুলনা
ম্যাক্রোবেঞ্চমার্ক | মাইক্রোবেঞ্চমার্ক | |
---|---|---|
API সংস্করণ | 23 এবং তার পরে | 14 এবং তার পরে |
ফাংশন | উচ্চ-স্তরের এন্ট্রি পয়েন্ট বা মিথস্ক্রিয়া পরিমাপ করুন, যেমন কার্যকলাপ লঞ্চ বা একটি তালিকা স্ক্রোল করা। | পৃথক ফাংশন পরিমাপ. |
ব্যাপ্তি | সম্পূর্ণ অ্যাপের প্রক্রিয়ার বাইরের পরীক্ষা। | সিপিইউ কাজের ইন-প্রসেস টেস্ট। |
গতি | মাঝারি পুনরাবৃত্তি গতি। এটি এক মিনিটের বেশি হতে পারে। | দ্রুত পুনরাবৃত্তি গতি। প্রায়ই 10 সেকেন্ডের কম। |
ট্রেসিং | ফলাফল প্রোফাইলিং ট্রেস সঙ্গে আসা. | ঐচ্ছিক পদ্ধতি নমুনা এবং ট্রেসিং. |
আপনার জন্য প্রস্তাবিত
- দ্রষ্টব্য: জাভাস্ক্রিপ্ট বন্ধ থাকলে লিঙ্ক টেক্সট প্রদর্শিত হয়
- বেসলাইন প্রোফাইল তৈরি করুন {:#creating-profile-rules}
- জ্যাঙ্কস্ট্যাটস লাইব্রেরি
- অ্যাপের কর্মক্ষমতা পরিমাপের ওভারভিউ