নিম্নলিখিত উপকরণ আর্গুমেন্ট দিয়ে মাইক্রোবেঞ্চমার্কের আচরণ কনফিগার করুন। আপনি হয় এগুলিকে আপনার গ্রেডল কনফিগারেশনে যোগ করতে পারেন অথবা কমান্ড লাইন থেকে ইন্সট্রুমেন্টেশন চালানোর সময় সরাসরি প্রয়োগ করতে পারেন। সমস্ত অ্যান্ড্রয়েড স্টুডিও এবং কমান্ড লাইন টেস্ট রানের জন্য এই আর্গুমেন্টগুলি সেট করতে, এগুলিকে testInstrumentationRunnerArguments
এ যুক্ত করুন:
android {
defaultConfig {
// ...
testInstrumentationRunnerArguments["androidx.benchmark.dryRunMode.enable"] = "true"
}
}
অ্যান্ড্রয়েড স্টুডিও থেকে বেঞ্চমার্ক চালানোর সময় আপনি ইন্সট্রুমেন্টেশন আর্গুমেন্ট সেট আপ করতে পারেন। আর্গুমেন্ট পরিবর্তন করতে, নিম্নলিখিত করুন:
- সম্পাদনা ক্লিক করে রান কনফিগারেশন সম্পাদনা করুন এবং আপনি সম্পাদনা করতে চান এমন কনফিগারেশন নির্বাচন করুন।
চিত্র 1. রান কনফিগারেশন সম্পাদনা করুন। - ইনস্ট্রুমেন্টেশন আর্গুমেন্ট ফিল্ডের পাশে
চিত্র 2. ইন্সট্রুমেন্টেশন আর্গুমেন্ট সম্পাদনা করুন। ক্লিক করে ইন্সট্রুমেন্টেশন আর্গুমেন্ট সম্পাদনা করুন। -
চিত্র 3. ইন্সট্রুমেন্টেশন আর্গুমেন্ট যোগ করুন। ক্লিক করুন এবং প্রয়োজনীয় ইন্সট্রুমেন্টেশন আর্গুমেন্ট যোগ করুন।
আপনি যদি কমান্ড লাইন থেকে বেঞ্চমার্ক চালান, -P android.testInstrumentationRunnerArguments.[name of the argument]
:
./gradlew :benchmark:connectedAndroidTest -P android.testInstrumentationRunnerArguments.androidx.benchmark.profiling.mode=StackSampling
আপনি যদি সরাসরি am instrument কমান্ড আহ্বান করেন (যেটি CI পরীক্ষার পরিবেশে হতে পারে), তাহলে -e
এর সাথে am instrument
এ আর্গুমেন্টটি পাস করুন:
adb shell am instrument -e androidx.benchmark.profiling.mode StackSampling -w com.example.macrobenchmark/androidx.benchmark.junit4.AndroidBenchmarkRunner
CI-তে বেঞ্চমার্ক কনফিগার করার বিষয়ে আরও তথ্যের জন্য, CI-এ বেঞ্চমার্কিং দেখুন
androidx.benchmark.cpuEventCounter.enable (পরীক্ষামূলক)
androidx.benchmark.cupEventCounter.events
এ নির্দিষ্ট করা CPU ইভেন্ট গণনা করে। রুট অ্যাক্সেস প্রয়োজন.
- আর্গুমেন্ট টাইপ: বুলিয়ান
- এতে ডিফল্ট: মিথ্যা
androidx.benchmark.cpuEventCounter.events (পরীক্ষামূলক)
কোন ধরনের CPU ইভেন্ট গণনা করা হবে তা নির্দিষ্ট করে। এই যুক্তিটি ব্যবহার করতে androidx.benchmark.cpuEventCounter.enable
অবশ্যই true
সেট করতে হবে।
- আর্গুমেন্টের ধরন: স্ট্রিংগুলির কমা দ্বারা পৃথক করা তালিকা
- উপলব্ধ বিকল্প:
-
Instructions
-
CPUCycles
-
L1DReferences
-
L1DMisses
-
BranchInstructions
-
BranchMisses
-
L1IReferences
-
L1IMisses
-
- এতে ডিফল্ট:
Instructions
,CpuCycles
,BranchMisses
androidx.benchmark.dryRunMode.enable
সেগুলি সঠিকভাবে কাজ করে কিনা তা যাচাই করতে আপনাকে একক লুপে বেঞ্চমার্কগুলি চালাতে দেয়৷
এর অর্থ:
- কনফিগারেশন ত্রুটিগুলি প্রয়োগ করা হয় না (উদাহরণস্বরূপ, এমুলেটরগুলিতে নিয়মিত শুদ্ধতা পরীক্ষার সাথে চালানো সহজ করতে)
- বেঞ্চমার্ক শুধুমাত্র একটি একক লুপ চালায়, কোন ওয়ার্মআপ ছাড়াই
- রানটাইম কমাতে পরিমাপ এবং ট্রেস ক্যাপচার করা হয় না
এটি পরীক্ষার থ্রুপুট এবং বিল্ড এবং পরিমাপের শুদ্ধতার উপর বেঞ্চমার্ক যুক্তি যাচাই করার জন্য অপ্টিমাইজ করে।
- আর্গুমেন্ট টাইপ: বুলিয়ান
- এতে ডিফল্ট:
false
androidx.benchmark.killExistingPerfettoRecordings
হস্তক্ষেপ কমাতে একটি নতুন ট্রেস শুরু করার সময় বেঞ্চমার্ক ডিফল্টভাবে বিদ্যমান পারফেটো (সিস্টেম ট্রেস) রেকর্ডিংকে মেরে ফেলে। এই আচরণ অক্ষম করতে, false
পাস.
- আর্গুমেন্ট টাইপ: বুলিয়ান
- এতে ডিফল্ট:
true
androidx.benchmark.output.enable
বাহ্যিক সঞ্চয়স্থানে ফলাফল JSON ফাইল লিখতে সক্ষম করে।
- আর্গুমেন্ট টাইপ: বুলিয়ান
- এতে ডিফল্ট:
true
androidx.benchmark.profiling.mode
বেঞ্চমার্ক চালানোর সময় ট্রেস ফাইল ক্যাপচার করার অনুমতি দেয়। উপলব্ধ বিকল্পগুলির জন্য একটি মাইক্রোবেঞ্চমার্ক প্রোফাইল দেখুন।
মনে রাখবেন যে কিছু Android OS সংস্করণ পরবর্তী পরিমাপ প্রভাবিত না করে পদ্ধতি ট্রেসিং সমর্থন করে না। মাইক্রোবেঞ্চমার্ক এটি প্রতিরোধ করার জন্য একটি ব্যতিক্রম নিক্ষেপ করে, তাই পদ্ধতি ট্রেস ক্যাপচার করতে ডিফল্ট যুক্তি ব্যবহার করুন শুধুমাত্র যখন এটি করা নিরাপদ। সংখ্যা #316174880 দেখুন।
- আর্গুমেন্ট টাইপ: স্ট্রিং
- উপলব্ধ বিকল্প:
-
MethodTracing
-
StackSampling
-
None
-
- এতে ডিফল্ট:
MethodTracing
এর নিরাপদ সংস্করণ যা শুধুমাত্র একটি পদ্ধতির ট্রেস ক্যাপচার করে যদি ডিভাইসটি পরিমাপকে প্রভাবিত না করে তা করতে পারে।
androidx.benchmark.suppressErrors
সতর্কতায় পরিণত করার জন্য ত্রুটিগুলির একটি কমা দ্বারা পৃথক করা তালিকা গ্রহণ করে৷
- আর্গুমেন্টের ধরন: স্ট্রিংয়ের তালিকা
- উপলব্ধ বিকল্প:
-
DEBUGGABLE
-
LOW-BATTERY
-
EMULATOR
-
CODE-COVERAGE
-
UNLOCKED
-
SIMPLEPERF
-
ACTIVITY-MISSING
-
- এতে ডিফল্ট: একটি খালি তালিকা
অতিরিক্ত টেস্টআউটপুটডির
ডিভাইসে JSON বেঞ্চমার্ক রিপোর্ট এবং প্রোফাইলিং ফলাফল কোথায় সংরক্ষিত হয় তা কনফিগার করে।
- আর্গুমেন্ট টাইপ: ফাইল পাথ স্ট্রিং
- এতে ডিফল্ট: APK এর বাহ্যিক ডিরেক্টরি পরীক্ষা করুন
শ্রোতা
বেঞ্চমার্ক চলার সময় যদি সম্পর্কহীন ব্যাকগ্রাউন্ডের কাজ চালানো হয় তাহলে আপনি অসঙ্গত বেঞ্চমার্ক ফলাফল পেতে পারেন।
বেঞ্চমার্কিং চলাকালীন ব্যাকগ্রাউন্ডের কাজ অক্ষম করতে listener
ইন্সট্রুমেন্টেশন আর্গুমেন্ট টাইপ androidx.benchmark.junit4.SideEffectRunListener
এ সেট করুন।
- আর্গুমেন্ট টাইপ: স্ট্রিং
- উপলব্ধ বিকল্প:
-
androidx.benchmark.junit4.SideEffectRunListener
-
- এর জন্য ডিফল্ট: নির্দিষ্ট করা নেই
আপনার জন্য প্রস্তাবিত
- দ্রষ্টব্য: জাভাস্ক্রিপ্ট বন্ধ থাকলে লিঙ্ক টেক্সট প্রদর্শিত হয়
- ম্যাক্রোবেঞ্চমার্ক ইনস্ট্রুমেন্টেশন আর্গুমেন্ট
- একটি মাইক্রোবেঞ্চমার্ক প্রোফাইল
- বেসলাইন প্রোফাইল তৈরি করুন {:#creating-profile-rules}