মাইক্রোবেঞ্চমার্ক ইনস্ট্রুমেন্টেশন আর্গুমেন্ট

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

android {
    defaultConfig {
        // ...
        testInstrumentationRunnerArguments["androidx.benchmark.dryRunMode.enable"] = "true"
    }
}

অ্যান্ড্রয়েড স্টুডিও থেকে বেঞ্চমার্ক চালানোর সময় আপনি ইন্সট্রুমেন্টেশন আর্গুমেন্ট সেট আপ করতে পারেন। আর্গুমেন্ট পরিবর্তন করতে, নিম্নলিখিত করুন:

  1. সম্পাদনা ক্লিক করে রান কনফিগারেশন সম্পাদনা করুন এবং আপনি সম্পাদনা করতে চান এমন কনফিগারেশন নির্বাচন করুন।
    চিত্র 1. রান কনফিগারেশন সম্পাদনা করুন।
  2. ইনস্ট্রুমেন্টেশন আর্গুমেন্ট ফিল্ডের পাশে ক্লিক করে ইন্সট্রুমেন্টেশন আর্গুমেন্ট সম্পাদনা করুন।
    চিত্র 2. ইন্সট্রুমেন্টেশন আর্গুমেন্ট সম্পাদনা করুন।
  3. ক্লিক করুন এবং প্রয়োজনীয় ইন্সট্রুমেন্টেশন আর্গুমেন্ট যোগ করুন।
    চিত্র 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-এ বেঞ্চমার্কিং দেখুন

অতিরিক্ত টেস্টআউটপুটডির

ডিভাইসে JSON বেঞ্চমার্ক রিপোর্ট এবং প্রোফাইলিং ফলাফল কোথায় সংরক্ষিত হয় তা কনফিগার করে।

  • আর্গুমেন্ট টাইপ: ফাইল পাথ স্ট্রিং
  • এতে ডিফল্ট: APK এর বাহ্যিক ডিরেক্টরি পরীক্ষা করুন

androidx.benchmark.dryRunMode.enable

সেগুলি সঠিকভাবে কাজ করে কিনা তা যাচাই করতে আপনাকে একক লুপে বেঞ্চমার্কগুলি চালাতে দেয়৷

এর অর্থ:

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

এটি পরীক্ষার থ্রুপুট এবং বিল্ড এবং পরিমাপের শুদ্ধতার উপর বেঞ্চমার্ক যুক্তি যাচাই করার জন্য অপ্টিমাইজ করে।

  • আর্গুমেন্ট টাইপ: বুলিয়ান
  • এতে ডিফল্ট: false

androidx.benchmark.iterations

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

  • আর্গুমেন্টের ধরন: পূর্ণসংখ্যা
  • এর জন্য ডিফল্ট: নির্দিষ্ট করা নেই

androidx.benchmark.junit4.SideEffectRunListener

বেঞ্চমার্ক চলার সময় যদি সম্পর্কহীন ব্যাকগ্রাউন্ডের কাজ চালানো হয় তাহলে আপনি অসঙ্গত বেঞ্চমার্ক ফলাফল পেতে পারেন।

বেঞ্চমার্কিং চলাকালীন ব্যাকগ্রাউন্ডের কাজ অক্ষম করতে listener ইন্সট্রুমেন্টেশন আর্গুমেন্ট টাইপ androidx.benchmark.junit4.SideEffectRunListener এ সেট করুন।

  • আর্গুমেন্ট টাইপ: স্ট্রিং
  • উপলব্ধ বিকল্প:
    • androidx.benchmark.junit4.SideEffectRunListener
  • এর জন্য ডিফল্ট: নির্দিষ্ট করা নেই

androidx.benchmark.output.enable

বাহ্যিক সঞ্চয়স্থানে ফলাফল JSON ফাইল লিখতে সক্ষম করে।

  • আর্গুমেন্ট টাইপ: বুলিয়ান
  • এতে ডিফল্ট: true

androidx.benchmark.profiling.mode

বেঞ্চমার্ক চালানোর সময় ট্রেস ফাইল ক্যাপচার করার অনুমতি দেয়। উপলব্ধ বিকল্পগুলির জন্য একটি মাইক্রোবেঞ্চমার্ক প্রোফাইল দেখুন।

  • আর্গুমেন্ট টাইপ: স্ট্রিং
  • উপলব্ধ বিকল্প:
    • MethodTracing
    • StackSampling
    • None
  • এতে ডিফল্ট: None

androidx.benchmark.suppressErrors

সতর্কতায় পরিণত করার জন্য ত্রুটিগুলির একটি কমা দ্বারা পৃথক করা তালিকা গ্রহণ করে৷

  • আর্গুমেন্টের ধরন: স্ট্রিংয়ের তালিকা
  • উপলব্ধ বিকল্প:
    • DEBUGGABLE
    • LOW-BATTERY
    • EMULATOR
    • CODE-COVERAGE
    • UNLOCKED
    • SIMPLEPERF
    • ACTIVITY-MISSING
  • এতে ডিফল্ট: একটি খালি তালিকা

androidx.benchmark.startupMode.enable (অপ্রচলিত)

স্টার্টআপের সময় বেঞ্চমার্কিং কোড সমর্থন করার জন্য লুপিং আচরণ পুনরায় কনফিগার করে। বেঞ্চমার্কগুলি 10টি পরিমাপের জন্য ওয়ার্মআপ লুপিং ছাড়াই কার্যকর করা হয়। মাইক্রোবেঞ্চমার্কে ওভারহেড কমাতে, লুপ গড় নিষ্ক্রিয় করা হয়েছে।

  • আর্গুমেন্ট টাইপ: বুলিয়ান
  • এতে ডিফল্ট: false
{% শব্দার্থে %} {% endverbatim %} {% শব্দার্থে %} {% endverbatim %}